import { getFuLocaleMessage } from '@/lang/fu';

const message = {
    commons: {
        true: 'درست',
        false: 'نادرست',
        colon: ': ',
        example: 'مثلاً ',
        fit2cloud: 'FIT2CLOUD',
        lingxia: 'LXware',
        button: {
            run: 'اجرا',
            prev: 'قبلی',
            next: 'بعدی',
            create: 'ایجاد',
            add: 'افزودن',
            select: 'انتخاب',
            save: 'ذخیره',
            set: 'تنظیمات',
            sync: 'همگام‌سازی',
            delete: 'حذف',
            edit: 'ویرایش',
            enable: 'فعال',
            disable: 'غیرفعال',
            confirm: 'تأیید',
            cancel: 'لغو',
            reset: 'بازنشانی',
            setDefault: 'بازگردانی پیش‌فرض',
            restart: 'راه‌اندازی مجدد',
            conn: 'اتصال',
            disConn: 'قطع اتصال',
            clean: 'پاک‌سازی',
            cleanAll: 'پاک‌سازی همه',
            selectAll: 'انتخاب همه',
            login: 'ورود',
            close: 'بستن',
            stop: 'متوقف کردن',
            start: 'شروع',
            view: 'مشاهده',
            watch: 'دنبال کردن',
            handle: 'اجرا',
            clone: 'کلون',
            expand: 'باز کردن',
            collapse: 'جمع کردن',
            log: 'گزارش‌ها',
            back: 'بازگشت',
            backup: 'پشتیبان‌گیری',
            recover: 'بازیابی',
            retry: 'تلاش مجدد',
            upload: 'بارگذاری',
            download: 'دانلود',
            init: 'راه‌اندازی',
            verify: 'تأیید',
            saveAndEnable: 'ذخیره و فعال‌سازی',
            import: 'واردات',
            importAll: 'وارد کردن همه',
            export: 'خروجی',
            power: 'ارسال',
            search: 'جستجو',
            refresh: 'بازخوانی',
            get: 'دریافت',
            upgrade: 'ارتقاء',
            update: 'به‌روزرسانی',
            ignore: 'رد کردن به‌روزرسانی',
            copy: 'کپی',
            random: 'تولید',
            install: 'نصب',
            uninstall: 'حذف نصب',
            fullscreen: 'تمام صفحه',
            quitFullscreen: 'خروج از تمام صفحه',
            showAll: 'نمایش همه',
            hideSome: 'مخفی کردن برخی',
            agree: 'موافقم',
            notAgree: 'مخالفم',
            preview: 'پیش‌نمایش',
            open: 'باز کردن',
            notSave: 'ذخیره نشود',
            createNewFolder: 'ایجاد پوشه جدید',
            createNewFile: 'ایجاد فایل جدید',
            helpDoc: 'مستندات',
            bind: 'اتصال',
            unbind: 'قطع اتصال',
            cover: 'بازنویسی',
            skip: 'رد شدن',
            fix: 'رفع',
            down: 'متوقف کردن',
            up: 'شروع',
            sure: 'تأیید',
            show: 'نمایش',
            hide: 'مخفی',
            visit: 'باز کردن',
            migrate: 'مهاجرت',
            tip: 'نکته',
            reconnect: 'اتصال مجدد',
        },
        operate: {
            start: 'شروع',
            stop: 'متوقف کردن',
            restart: 'راه‌اندازی مجدد',
            reload: 'بارگذاری مجدد',
            rebuild: 'بازسازی',
            sync: 'همگام‌سازی',
            up: 'بالا',
            down: 'پایین',
            delete: 'حذف',
        },
        search: {
            timeStart: 'زمان شروع',
            timeEnd: 'زمان پایان',
            timeRange: 'تا',
            dateStart: 'تاریخ شروع',
            dateEnd: 'تاریخ پایان',
            date: 'تاریخ',
        },
        table: {
            all: 'همه',
            total: 'مجموع {0}',
            name: 'نام',
            type: 'نوع',
            card: 'کارت',
            table: 'جدول',
            status: 'وضعیت',
            statusSuccess: 'موفق',
            statusFailed: 'ناموفق',
            statusWaiting: 'در انتظار...',
            records: 'رکوردها',
            group: 'گروه',
            default: 'پیش‌فرض',
            createdAt: 'تاریخ ایجاد',
            creator: 'ایجادکننده',
            publishedAt: 'تاریخ انتشار',
            date: 'تاریخ',
            updatedAt: 'تاریخ بروزرسانی',
            updater: 'بروزرسانی‌کننده',
            operate: 'عملیات',
            message: 'پیام',
            description: 'توضیحات',
            interval: 'فاصله',
            user: 'مالک',
            title: 'عنوان',
            port: 'پورت',
            forward: 'انتقال',
            protocol: 'پروتکل',
            tableSetting: 'تنظیمات جدول',
            refreshRate: 'فاصله بازخوانی',
            noRefresh: 'بدون بازخوانی',
            selectColumn: 'انتخاب ستون',
            local: 'محلی',
            serialNumber: 'شماره',
            manageGroup: 'مدیریت گروه‌ها',
            backToList: 'بازگشت به لیست',
            keepEdit: 'ادامه ویرایش',
            pin: 'سنجاق کردن در بالا',
            unpin: 'برداشتن سنجاق',
        },
        loadingText: {
            Upgrading: 'در حال ارتقاء سیستم، لطفاً صبر کنید...',
            Restarting: 'در حال راه‌اندازی مجدد سیستم، لطفاً صبر کنید...',
            Recovering: 'در حال بازیابی از تصویر لحظه‌ای، لطفاً صبر کنید...',
            Rollbacking: 'در حال بازگشت به تصویر لحظه‌ای، لطفاً صبر کنید...',
        },
        msg: {
            noneData: 'داده‌ای موجود نیست',
            delete: 'این عمل قابل بازگشت نیست. ادامه می‌دهید؟',
            clean: 'این پاک‌سازی قابل بازگشت نیست. ادامه می‌دهید؟',
            closeDrawerHelper: 'تغییرات ذخیره نشده ممکن است از بین بروند. ادامه می‌دهید؟',
            deleteSuccess: 'حذف با موفقیت انجام شد',
            loginSuccess: 'ورود با موفقیت انجام شد',
            operationSuccess: 'عملیات با موفقیت انجام شد',
            operationFailed: 'عملیات ناموفق بود',
            copySuccess: 'کپی با موفقیت انجام شد',
            notSupportOperation: 'این عملیات پشتیبانی نمی‌شود',
            requestTimeout: 'زمان درخواست به پایان رسید، بعداً تلاش کنید',
            infoTitle: 'توجه',
            notRecords: 'هیچ رکورد اجرایی برای این وظیفه وجود ندارد',
            sureLogOut: 'آیا مطمئن هستید که می‌خواهید خارج شوید؟',
            createSuccess: 'ایجاد با موفقیت انجام شد',
            updateSuccess: 'بروزرسانی با موفقیت انجام شد',
            uploadSuccess: 'بارگذاری با موفقیت انجام شد',
            operateConfirm: 'برای تأیید، عبارت را تایپ کنید: ',
            inputOrSelect: 'انتخاب یا وارد کنید',
            selectOne: 'لطفاً یک {0} را انتخاب کنید',
            copyFailed: 'کپی ناموفق بود',
            operatorHelper: 'اجرای "{1}" روی "{0}". این عمل قابل بازگشت نیست. ادامه می‌دهید؟',
            notFound: 'متأسفیم، صفحه مورد نظر شما وجود ندارد.',
            unSupportType: 'نوع فایل فعلی پشتیبانی نمی‌شود.',
            unSupportSize: 'فایل بارگذاری شده از {0} مگابایت بیشتر است. تأیید کنید.',
            fileExist: 'فایل از قبل در پوشه فعلی وجود دارد. بارگذاری مجدد پشتیبانی نمی‌شود.',
            fileNameErr: 'نام فایل باید بین ۱ تا ۲۵۶ کاراکتر باشد و فقط شامل حروف، اعداد، نقطه، خط تیره یا زیرخط باشد',
            confirmNoNull: 'مطمئن شوید که مقدار {0} خالی نباشد.',
            errPort: 'پورت نامعتبر، لطفاً بررسی کنید',
            remove: 'حذف',
            backupHelper: 'عملیات فعلی از {0} پشتیبان‌گیری می‌کند. ادامه می‌دهید؟',
            recoverHelper: 'بازیابی از {0}. این عمل غیرقابل بازگشت است. ادامه می‌دهید؟',
            backupSuccess: 'پشتیبان‌گیری با موفقیت انجام شد',
            restoreSuccess: 'بازیابی با موفقیت انجام شد',
            refreshSuccess: 'بازخوانی با موفقیت انجام شد',
            rootInfoErr: 'از قبل در دایرکتوری ریشه هستید',
            resetSuccess: 'بازنشانی با موفقیت انجام شد',
            creatingInfo: 'در حال ایجاد، نیازی به این عملیات نیست',
            installSuccess: 'نصب با موفقیت انجام شد',
            uninstallSuccess: 'حذف نصب با موفقیت انجام شد',
            offlineTips: 'نسخه آفلاین از این عملیات پشتیبانی نمی‌کند',
            errImportFormat: 'داده‌های وارداتی یا فرمت آن غیرعادی است، بررسی کنید و دوباره تلاش کنید!',
            importHelper: 'در صورت وجود تضاد، داده‌های وارداتی جایگزین رکوردهای موجود می‌شوند.',
            errImport: 'محتوای فایل غیرعادی است:',
        },
        login: {
            username: 'نام کاربری',
            password: 'رمز عبور',
            passkey: 'ورود با کلید عبور',
            otherLoginMethods: 'سایر روش‌های ورود',
            welcome: 'خوش آمدید. با نام کاربری و رمز عبور خود وارد شوید.',
            errorAuthInfo: 'نام کاربری یا رمز عبور اشتباه است، دوباره تلاش کنید.',
            errorMfaInfo: 'اطلاعات احراز هویت نامعتبر است، دوباره تلاش کنید.',
            captchaHelper: 'کد تأیید',
            errorCaptcha: 'کد تأیید نامعتبر است',
            codeInput: 'کد ۶ رقمی MFA را وارد کنید',
            mfaTitle: 'تأیید MFA',
            mfaCode: 'کد تأیید MFA',
            title: 'پنل مدیریت سرور لینوکس',
            licenseHelper: '<قرارداد مجوز انجمن>',
            errorAgree: 'لطفاً قرارداد مجوز انجمن را بپذیرید',
            logout: 'خروج',
            agreeTitle: 'قرارداد',
            agreeContent:
                'به منظور حفاظت بهتر از حقوق قانونی شما، لطفاً قرارداد زیر را مطالعه و بپذیرید &laquo; <a href = "https://www.fit2cloud.com/legal/licenses.html" target = "_blank" > قرارداد مجوز انجمن </a> &raquo;',
            passkeyFailed: 'ورود با کلید عبور ناموفق بود، لطفاً دوباره تلاش کنید',
            passkeyNotSupported:
                'مرورگر یا محیط فعلی از کلید عبور پشتیبانی نمی‌کند، مطمئن شوید که دامنه را متصل کرده‌اید و از طریق HTTPS دسترسی دارید',
            passkeyToPassword: 'کلید عبور کار نمی‌کند؟ به جای آن از رمز عبور استفاده کنید',
        },
        rule: {
            username: 'نام کاربری را وارد کنید',
            password: 'رمز عبور را وارد کنید',
            rePassword: 'تکرار رمز عبور با رمز عبور مطابقت ندارد.',
            requiredInput: 'این فیلد الزامی است.',
            requiredSelect: 'یک مورد از لیست انتخاب کنید',
            illegalChar: 'کاراکترهای & ; $ \' ` ( ) " > < ｜ در حال حاضر پشتیبانی نمی‌شوند',
            illegalInput: 'این فیلد نباید شامل کاراکترهای غیرمجاز باشد.',
            duplicate: 'این مقدار باید یکتا باشد.',
            commonName:
                'این فیلد باید با کاراکترهای غیر ویژه شروع شود و از حروف انگلیسی، چینی، اعداد، ".", "-"، و "_" با طول ۱-۱۲۸ تشکیل شده باشد.',
            userName: 'این فیلد باید از حروف انگلیسی، چینی، اعداد و "_" با طول ۳-۳۰ تشکیل شده باشد.',
            simpleName:
                'این فیلد نباید با زیرخط شروع شود و باید از حروف انگلیسی، اعداد و "_" با طول ۳-۳۰ تشکیل شده باشد.',
            simplePassword:
                'این فیلد نباید با زیرخط شروع شود و باید از حروف انگلیسی، اعداد و "_" با طول ۱-۳۰ تشکیل شده باشد.',
            dbName: 'این فیلد نباید با زیرخط شروع شود و باید از حروف انگلیسی، اعداد و "_" با طول ۱-۶۴ تشکیل شده باشد.',
            imageName:
                'این فیلد باید از حروف انگلیسی، اعداد، ":", "@", "/", ".", "-"، و "_" با طول ۱-۲۵۶ تشکیل شده باشد.',
            volumeName: 'این فیلد باید از حروف انگلیسی، اعداد، ".", "-"، و "_" با طول ۲-۳۰ تشکیل شده باشد.',
            supervisorName:
                'این فیلد باید با کاراکترهای غیر ویژه شروع شود و از حروف انگلیسی، اعداد، "-"، و "_" با طول ۱-۱۲۸ تشکیل شده باشد.',
            composeName: 'پشتیبانی از کاراکترهای غیر ویژه در ابتدا، حروف کوچک، اعداد، - و _، طول ۱-۲۵۶',
            complexityPassword:
                'پشتیبانی از ترکیب رمز عبور با طول ۸-۳۰ که حداقل شامل دو مورد از حروف، اعداد و کاراکترهای ویژه باشد.',
            commonPassword: 'طول این فیلد باید بیشتر از ۶ باشد.',
            linuxName: 'طول این فیلد باید بین ۱ تا ۱۲۸ باشد. این فیلد نباید شامل کاراکترهای ویژه "{0}" باشد.',
            email: 'این فیلد باید یک آدرس ایمیل معتبر باشد.',
            number: 'این فیلد باید یک عدد باشد.',
            integer: 'این فیلد باید یک عدد صحیح مثبت باشد.',
            ip: 'این فیلد باید یک آدرس IP معتبر باشد.',
            host: 'این فیلد باید یک آدرس IP یا نام دامنه معتبر باشد.',
            hostHelper: 'پشتیبانی از ورودی آدرس IP یا نام دامنه',
            port: 'این فیلد باید یک شماره پورت معتبر باشد.',
            selectHelper: 'فایل {0} صحیح را انتخاب کنید',
            domain: 'این فیلد باید مانند: example.com یا example.com:8080 باشد.',
            databaseName: 'این فیلد باید از حروف انگلیسی، اعداد و "_" با طول ۱-۳۰ تشکیل شده باشد.',
            ipErr: 'این فیلد باید یک آدرس IP معتبر باشد.',
            numberRange: 'این فیلد باید عددی بین {0} و {1} باشد.',
            paramName: 'این فیلد باید از حروف انگلیسی، اعداد، ".", "-"، و "_" با طول ۲-۳۰ تشکیل شده باشد.',
            paramComplexity:
                'این فیلد نباید با کاراکترهای ویژه شروع یا پایان یابد و باید از حروف انگلیسی، اعداد، "{0}" با طول ۶-۱۲۸ تشکیل شده باشد.',
            paramUrlAndPort: 'این فیلد باید به فرمت "http(s)://(دامنه/ip):(پورت)" باشد.',
            nginxDoc: 'این فیلد باید از حروف انگلیسی، اعداد و "." تشکیل شده باشد.',
            appName:
                'این فیلد نباید با "-" و "_" شروع یا پایان یابد و باید از حروف انگلیسی، اعداد، "-"، و "_" با طول ۲-۳۰ تشکیل شده باشد.',
            containerName: 'پشتیبانی از حروف، اعداد، -، _ و .؛ نمی‌تواند با - _ یا . شروع شود؛ طول: ۲-۱۲۸',
            mirror: 'آدرس آینه باید با http(s):// شروع شود، از حروف انگلیسی (کوچک و بزرگ)، اعداد، . / و - پشتیبانی می‌کند و نباید شامل خطوط خالی باشد.',
            disableFunction: 'فقط حروف و زیرخط پشتیبانی می‌شوند',
            leechExts: 'فقط حروف، اعداد و کاما پشتیبانی می‌شوند',
            paramSimple: 'پشتیبانی از حروف کوچک و اعداد، طول ۱-۱۲۸',
            filePermission: 'خطا در مجوز فایل',
            formatErr: 'خطا در فرمت، لطفاً بررسی و دوباره تلاش کنید',
            phpExtension: 'فقط حروف کوچک انگلیسی، اعداد و زیرخط پشتیبانی می‌شود',
            paramHttp: 'باید با http:// یا https:// شروع شود',
            phone: 'فرمت شماره تلفن اشتباه است',
            authBasicPassword: 'پشتیبانی از حروف، اعداد و کاراکترهای ویژه رایج، طول ۱-۷۲',
            length128Err: 'طول نمی‌تواند از ۱۲۸ کاراکتر بیشتر باشد',
            maxLength: 'طول نمی‌تواند از {0} کاراکتر بیشتر باشد',
            vmName: 'از حروف انگلیسی، اعداد، "."، "-" و "_" پشتیبانی می‌کند؛ طول ۱ تا ۶۴؛ باید با حرف یا عدد شروع شود.',
            vmNetwork:
                'از حروف انگلیسی، اعداد، "."، ":"، "-" و "_" پشتیبانی می‌کند؛ طول ۱ تا ۶۴؛ باید با حرف یا عدد شروع شود.',
            alias: 'پشتیبانی از حروف انگلیسی، اعداد، - و _، طول ۱-۱۲۸، و نمی‌تواند با -_ شروع یا پایان یابد.',
        },
        res: {
            paramError: 'درخواست ناموفق بود. بعداً تلاش کنید.',
            forbidden: 'کاربر فعلی مجوز ندارد',
            serverError: 'خطای سرویس',
            notFound: 'منبع وجود ندارد',
            commonError: 'درخواست ناموفق بود',
        },
        service: {
            serviceNotStarted: 'سرویس {0} راه‌اندازی نشده است.',
        },
        status: {
            running: 'در حال اجرا',
            done: 'انجام شد',
            scanFailed: 'ناقص',
            success: 'موفق',
            waiting: 'در انتظار',
            waitForUpgrade: 'در انتظار ارتقاء',
            failed: 'ناموفق',
            stopped: 'متوقف شده',
            error: 'خطا',
            created: 'ایجاد شده',
            restarting: 'در حال راه‌اندازی مجدد',
            uploading: 'در حال بارگذاری',
            unhealthy: 'ناسالم',
            removing: 'در حال حذف',
            paused: 'متوقف موقت',
            exited: 'خارج شده',
            partial: 'جزئی',
            dead: 'از کار افتاده',
            installing: 'در حال نصب',
            enabled: 'فعال',
            disabled: 'غیرفعال',
            normal: 'عادی',
            building: 'در حال ساخت',
            upgrading: 'در حال ارتقاء',
            pending: 'در انتظار ویرایش',
            rebuilding: 'در حال بازسازی',
            deny: 'رد شده',
            accept: 'پذیرفته شده',
            used: 'استفاده شده',
            unused: 'استفاده نشده',
            starting: 'در حال شروع',
            recreating: 'در حال بازآفرینی',
            creating: 'در حال ایجاد',
            init: 'در انتظار برنامه',
            ready: 'آماده',
            applying: 'در حال اعمال',
            uninstalling: 'در حال حذف نصب',
            lost: 'ارتباط قطع شده',
            bound: 'متصل',
            unbind: 'قطع اتصال',
            exceptional: 'استثنایی',
            free: 'رایگان',
            enable: 'فعال',
            disable: 'غیرفعال',
            deleted: 'حذف شده',
            notfound: 'یافت نشد',
            inactive: 'شروع نشده',
            degraded: 'تنزل‌یافته',
            inaccessible: 'غیرقابل دسترس',
            unknown: 'نامشخص',
            downloading: 'در حال دانلود',
            packing: 'در حال بسته‌بندی',
            sending: 'در حال ارسال',
            healthy: 'عادی',
            executing: 'در حال اجرا',
            installerr: 'نصب ناموفق',
            applyerror: 'اعمال ناموفق',
            systemrestart: 'قطع شده',
            starterr: 'شروع ناموفق',
            uperr: 'شروع ناموفق',
            new: 'جدید',
            conflict: 'تضاد',
            duplicate: 'تکراری',
            unexecuted: 'اجرا نشده',
            canceled: 'لغو شده',
        },
        units: {
            second: 'ثانیه',
            minute: 'دقیقه',
            hour: 'ساعت',
            day: 'روز',
            week: 'هفته',
            month: 'ماه',
            year: 'سال',
            time: 'rqm',
            core: 'هسته',
            millisecond: 'میلی‌ثانیه',
            secondUnit: 'ثانیه',
            minuteUnit: 'دقیقه',
            hourUnit: 'ساعت',
            dayUnit: 'روز',
            semicolon: '؛',
        },
        log: {
            noLog: 'گزارشی موجود نیست',
        },
    },
    menu: {
        home: 'نمای کلی',
        apps: 'فروشگاه برنامه',
        website: 'وب‌سایت | وب‌سایت‌ها',
        project: 'پروژه | پروژه‌ها',
        config: 'پیکربندی | پیکربندی‌ها',
        ssh: 'تنظیمات SSH',
        firewall: 'دیواره آتش',
        filter: 'فیلتر',
        ssl: 'گواهی | گواهی‌ها',
        database: 'پایگاه داده | پایگاه‌های داده',
        aiTools: 'هوش مصنوعی',
        mcp: 'MCP',
        container: 'کانتینر | کانتینرها',
        cronjob: 'وظیفه زمان‌بندی شده | وظایف زمان‌بندی شده',
        system: 'سیستم',
        security: 'امنیت',
        files: 'مدیریت فایل',
        monitor: 'نظارت',
        terminal: 'ترمینال | ترمینال‌ها',
        settings: 'تنظیمات',
        toolbox: 'جعبه ابزار',
        logs: 'گزارش | گزارش‌ها',
        runtime: 'محیط اجرا | محیط‌های اجرا',
        processManage: 'فرآیند | فرآیندها',
        process: 'فرآیند | فرآیندها',
        network: 'شبکه | شبکه‌ها',
        supervisor: 'سرپرست',
        tamper: 'ضد دستکاری',
        app: 'برنامه',
        msgCenter: 'وظایف',
        disk: 'دیسک',
        template: 'قالب',
    },
    home: {
        recommend: 'پیشنهادی',
        dir: 'دایرکتوری',
        alias: 'نام مستعار',
        quickDir: 'دسترسی سریع',
        minQuickJump: 'حداقل یک ورودی دسترسی سریع اضافه کنید',
        maxQuickJump: 'می‌توانید حداکثر چهار ورودی دسترسی سریع اضافه کنید',
        database: 'پایگاه داده - همه',
        restart_1panel: 'راه‌اندازی مجدد پنل',
        restart_system: 'راه‌اندازی مجدد سرور',
        operationSuccess: 'عملیات با موفقیت انجام شد. در حال راه‌اندازی مجدد، بعداً مرورگر را بازخوانی کنید.',
        entranceHelper:
            'ورودی امنیتی فعال نیست. می‌توانید آن را در "تنظیمات -> امنیت" فعال کنید تا امنیت سیستم افزایش یابد.',
        appInstalled: 'برنامه‌ها',
        systemInfo: 'اطلاعات سیستم',
        hostname: 'نام میزبان',
        platformVersion: 'سیستم عامل',
        kernelVersion: 'هسته',
        kernelArch: 'معماری',
        network: 'شبکه',
        io: 'I/O دیسک',
        ip: 'IP محلی',
        proxy: 'پروکسی سیستم',
        baseInfo: 'اطلاعات پایه',
        totalSend: 'مجموع ارسال',
        totalRecv: 'مجموع دریافت',
        rwPerSecond: 'عملیات I/O',
        ioDelay: 'تأخیر I/O',
        uptime: 'زمان روشن بودن',
        runningTime: 'روشن از',
        mem: 'حافظه سیستم',
        swapMem: 'حافظه swap',
        runSmoothly: 'بار کم',
        runNormal: 'بار متوسط',
        runSlowly: 'بار زیاد',
        runJam: 'بار سنگین',
        core: 'هسته‌های فیزیکی',
        logicCore: 'هسته‌های منطقی',
        corePercent: 'استفاده از هسته',
        cpuFrequency: 'فرکانس CPU',
        cpuDetailedPercent: 'جزئیات استفاده از CPU',
        cpuUser: 'کاربر',
        cpuSystem: 'سیستم',
        cpuIdle: 'بیکار',
        cpuIrq: 'IRQ',
        cpuSoftirq: 'نرم‌افزار IRQ',
        cpuSteal: 'ربایش',
        cpuTop: '۵ فرآیند برتر بر اساس مصرف CPU',
        memTop: '۵ فرآیند برتر بر اساس مصرف حافظه',
        loadAverage: 'میانگین بار در دقیقه آخر | میانگین بار در {0} دقیقه گذشته',
        load: 'بار',
        mount: 'نقطه اتصال',
        fileSystem: 'سیستم فایل',
        total: 'مجموع',
        used: 'استفاده شده',
        cache: 'کش',
        free: 'آزاد',
        shard: 'تقسیم شده',
        available: 'موجود',
        percent: 'درصد استفاده',
        goInstall: 'رفتن به نصب',
        networkCard: 'کارت شبکه',
        disk: 'دیسک',
        memo: 'یادداشت',
        memoPlaceholder: 'برای ویرایش روی دکمه ویرایش کلیک کنید.',
        carouselSetting: 'تنظیمات چرخ‌فلک',
        tooltipSensitiveInfo: 'نمایش/مخفی کردن اطلاعات حساس',
    },
    tabs: {
        more: 'بیشتر',
        hide: 'مخفی',
        closeLeft: 'بستن سمت چپ',
        closeRight: 'بستن سمت راست',
        closeCurrent: 'بستن جاری',
        closeOther: 'بستن سایر',
        closeAll: 'بستن همه',
    },
    header: {
        logout: 'خروج',
    },
    database: {
        manage: 'مدیریت پایگاه داده',
        deleteBackupHelper: 'همزمان پشتیبان‌های پایگاه داده را حذف کنید',
        delete: 'عملیات حذف قابل بازگشت نیست، لطفاً عبارت "',
        deleteHelper: '" را برای حذف این پایگاه داده وارد کنید',
        deleteUserHelper: '" را برای حذف این کاربر وارد کنید',
        userBoundDatabases: 'به پایگاه‌های داده زیر دسترسی دارد:',
        noMysql: 'سرویس پایگاه داده (MySQL یا MariaDB)',
        noPostgresql: 'سرویس پایگاه داده PostgreSQL',
        goUpgrade: 'رفتن به ارتقاء',
        goInstall: 'رفتن به نصب',
        isDelete: 'حذف شده',
        permission: 'تغییر مجوزها',
        format: 'مجموعه کاراکتر',
        collation: 'ترتیب',
        collationHelper: 'در صورت خالی بودن، از ترتیب پیش‌فرض مجموعه کاراکتر {0} استفاده می‌شود',
        permissionForIP: 'IP',
        permissionAll: 'همه (%)',
        localhostHelper:
            'پیکربندی مجوزهای پایگاه داده به عنوان "localhost" برای استقرار کانتینر، از دسترسی خارجی به کانتینر جلوگیری می‌کند. با دقت انتخاب کنید!',
        databaseConnInfo: 'اتصال',
        rootPassword: 'رمز عبور ریشه',
        serviceName: 'نام سرویس',
        serviceNameHelper: 'دسترسی بین کانتینرها در یک شبکه.',
        backupList: 'پشتیبان‌گیری',
        loadBackup: 'واردات',
        localUpload: 'بارگذاری محلی',
        hostSelect: 'انتخاب سرور',
        selectHelper: 'آیا مطمئن هستید که می‌خواهید فایل پشتیبان {0} را وارد کنید؟',
        remoteAccess: 'دسترسی از راه دور',
        remoteHelper: 'برای جدا کردن چندین IP از کاما استفاده کنید، مثلاً 172.16.10.111,172.16.10.112',
        remoteConnHelper: 'ورود از راه دور MySQL با ریشه خطرناک است. با احتیاط ادامه دهید.',
        changePassword: 'تغییر رمز عبور',
        changeConnHelper: 'این کار پایگاه داده {0} را تغییر می‌دهد. ادامه می‌دهید؟',
        changePasswordHelper:
            'پایگاه داده با یک برنامه مرتبط شده است. تغییر رمز عبور، رمز عبور پایگاه داده برنامه را نیز تغییر می‌دهد. تغییر پس از راه‌اندازی مجدد برنامه اعمال می‌شود.',
        recoverTimeoutHelper: '-1 به معنای بدون محدودیت زمانی است',
        confChange: 'پیکربندی',
        confNotFound:
            'فایل پیکربندی پیدا نشد. لطفاً برنامه را در فروشگاه برنامه به آخرین نسخه ارتقاء دهید و دوباره تلاش کنید!',
        portHelper:
            'این پورت، پورت نمایش داده شده کانتینر است. باید تغییرات را جداگانه ذخیره و کانتینر را مجدداً راه‌اندازی کنید!',
        loadFromRemote: 'همگام‌سازی از سرور',
        userBind: 'اتصال کاربر',
        noUserBind: 'بدون اتصال',
        userAuthorization: 'مجوز کاربر',
        noUserAuthorization: 'بدون اعطای مجوز',
        authorizedDatabaseCount: '{0} پایگاه داده مجاز',
        authorizationManagement: 'مدیریت مجوزها',
        authorizedUsers: 'کاربران مجاز',
        authorizedUserCount: '{0} کاربر',
        addUserAuthorization: 'افزودن مجوز کاربر',
        revokeAuthorization: 'لغو مجوز',
        revokeAuthorizationHelper: 'دسترسی کاربر {0} به پایگاه داده {1} لغو شود؟',
        supplementPassword: 'افزودن گذرواژه',
        supplementPasswordHelper: 'فقط گذرواژه فعلی را در 1Panel ذخیره می‌کند و گذرواژه MySQL را تغییر نمی‌دهد.',
        pgBindHelper:
            'این عملیات برای ایجاد کاربر جدید و اتصال آن به پایگاه داده هدف استفاده می‌شود. در حال حاضر انتخاب کاربرانی که از قبل در پایگاه داده وجود دارند پشتیبانی نمی‌شود.',
        pgSuperUser: 'کاربر فوق‌العاده',
        loadFromRemoteHelper: 'پایگاه‌های داده، کاربران و مجوزها از سرور با 1Panel همگام شوند؟',
        passwordHelper: 'در دسترس نیست، برای به‌روزرسانی کلیک کنید',
        remote: 'از راه دور',
        remoteDB: 'سرور از راه دور | سرورهای از راه دور',
        createRemoteDB: 'اتصال @.lower:database.remoteDB',
        unBindRemoteDB: 'قطع اتصال @.lower:database.remoteDB',
        unBindForce: 'قطع اجباری',
        unBindForceHelper: 'نادیده گرفتن همه خطاها در طول فرآیند قطع اتصال برای اطمینان از موفقیت نهایی عملیات',
        unBindRemoteHelper:
            'قطع اتصال پایگاه داده از راه دور فقط رابطه اتصال را حذف می‌کند و پایگاه داده از راه دور را مستقیماً حذف نمی‌کند',
        editRemoteDB: 'ویرایش سرور از راه دور',
        localDB: 'پایگاه داده محلی',
        address: 'آدرس پایگاه داده',
        version: 'نسخه پایگاه داده',
        userHelper: 'از root یا کاربری با مجوزهای root برای دسترسی به پایگاه داده از راه دور استفاده کنید.',
        mongodbPermissionDbOwner: 'مالک پایگاه داده',
        mongodbPermissionRead: 'خواندن داده',
        mongodbPermissionReadWrite: 'خواندن و نوشتن داده',
        mongodbPermissionUserAdmin: 'مدیر کاربر',
        pgUserHelper: 'از یک حساب کاربری فوق‌العاده پایگاه داده استفاده کنید.',
        ssl: 'استفاده از SSL',
        clientKey: 'کلید خصوصی مشتری',
        clientCert: 'گواهی مشتری',
        caCert: 'گواهی CA',
        hasCA: 'دارای گواهی CA',
        skipVerify: 'رد کردن تأیید گواهی',
        initialDB: 'پایگاه داده اولیه',
        formatHelper:
            'مجموعه کاراکتر فعلی پایگاه داده {0} است، ناهماهنگی مجموعه کاراکتر ممکن است باعث خرابی بازیابی شود',
        dropHelper: 'می‌توانید فایل بارگذاری شده را به اینجا بکشید و رها کنید یا',
        clickHelper: 'برای بارگذاری کلیک کنید',
        supportUpType:
            'فقط فرمت‌های فایل sql، sql.gz، tar.gz، .zip پشتیبانی می‌شوند. فایل فشرده وارد شده باید فقط شامل یک فایل .sql یا شامل test.sql باشد',
        currentStatus: 'وضعیت فعلی',
        baseParam: 'پارامتر پایه',
        performanceParam: 'پارامتر عملکرد',
        runTime: 'زمان شروع',
        connections: 'اتصال‌های کل',
        bytesSent: 'بایت ارسال شده',
        bytesReceived: 'بایت دریافت شده',
        queryPerSecond: 'پرس و جو در ثانیه',
        txPerSecond: 'تراکنش در ثانیه',
        connInfo: 'اتصال فعال/اوج',
        connInfoHelper: 'اگر مقدار خیلی زیاد است، "max_connections" را افزایش دهید.',
        threadCacheHit: 'برخورد کش رشته',
        threadCacheHitHelper: 'اگر خیلی کم است، "thread_cache_size" را افزایش دهید.',
        indexHit: 'برخورد ایندکس',
        indexHitHelper: 'اگر خیلی کم است، "key_buffer_size" را افزایش دهید.',
        innodbIndexHit: 'نرخ برخورد ایندکس Innodb',
        innodbIndexHitHelper: 'اگر خیلی کم است، "innodb_buffer_pool_size" را افزایش دهید.',
        cacheHit: 'نرخ برخورد کش پرس و جو',
        cacheHitHelper: 'اگر خیلی کم است، "query_cache_size" را افزایش دهید.',
        tmpTableToDB: 'جدول موقت به دیسک',
        tmpTableToDBHelper: 'اگر خیلی بزرگ است، سعی کنید "tmp_table_size" را افزایش دهید.',
        openTables: 'جدول‌های باز',
        openTablesHelper: 'مقدار پیکربندی "table_open_cache" باید بزرگتر یا مساوی این مقدار باشد.',
        selectFullJoin: 'انتخاب پیوند کامل',
        selectFullJoinHelper: 'اگر این مقدار ۰ نیست، ایندکس‌های جدول را بررسی کنید.',
        selectRangeCheck: 'تعداد پیوندهای بدون ایندکس',
        selectRangeCheckHelper: 'اگر این مقدار ۰ نیست، ایندکس‌های جدول را بررسی کنید.',
        sortMergePasses: 'تعداد ادغام‌های مرتب‌شده',
        sortMergePassesHelper: 'اگر مقدار خیلی زیاد است، "sort_buffer_size" را افزایش دهید.',
        tableLocksWaited: 'تعداد قفل جدول',
        tableLocksWaitedHelper: 'اگر مقدار خیلی زیاد است، افزایش عملکرد پایگاه داده را در نظر بگیرید.',
        performanceTuning: 'بهینه‌سازی عملکرد',
        optimizationScheme: 'طرح بهینه‌سازی',
        keyBufferSizeHelper: 'اندازه بافر برای ایندکس',
        queryCacheSizeHelper: 'کش پرس و جو. اگر این عملکرد غیرفعال است، این پارامتر را روی ۰ قرار دهید.',
        tmpTableSizeHelper: 'اندازه کش جدول موقت',
        innodbBufferPoolSizeHelper: 'اندازه بافر Innodb',
        innodbLogBufferSizeHelper: 'اندازه بافر لاگ Innodb',
        sortBufferSizeHelper: '* اتصالات، اندازه بافر برای هر رشته مرتب‌سازی',
        readBufferSizeHelper: '* اتصالات، اندازه بافر خواندن',
        readRndBufferSizeHelper: '* اتصالات، اندازه بافر خواندن تصادفی',
        joinBufferSizeHelper: '* اتصالات، اندازه کش جدول ارتباطی',
        threadStackelper: '* اتصالات، اندازه پشته برای هر رشته',
        binlogCacheSizeHelper: '* اتصالات، اندازه کش باینری لاگ (مضرب ۴۰۹۶)',
        threadCacheSizeHelper: 'اندازه مجموعه رشته‌ها',
        tableOpenCacheHelper: 'کش جدول',
        maxConnectionsHelper: 'حداکثر اتصالات',
        restart: 'راه‌اندازی مجدد',
        slowLog: 'لاگ‌های کند',
        noData: 'هنوز لاگ کندی وجود ندارد.',
        isOn: 'روشن',
        longQueryTime: 'آستانه (ثانیه)',
        thresholdRangeHelper: 'آستانه صحیح را وارد کنید (۱ - ۶۰۰).',
        timeout: 'مهلت (ثانیه)',
        timeoutHelper: 'دوره مهلت اتصال بیکار. ۰ به معنای ادامه اتصال است.',
        maxclients: 'حداکثر مشتریان',
        requirepassHelper:
            'خالی گذاشتن به معنای عدم تنظیم رمز عبور است. تغییرات باید جداگانه ذخیره و کانتینر مجدداً راه‌اندازی شود!',
        databases: 'تعداد پایگاه‌های داده',
        maxmemory: 'حداکثر استفاده از حافظه',
        maxmemoryHelper: '۰ به معنای بدون محدودیت است.',
        tcpPort: 'پورت شنود فعلی.',
        uptimeInDays: 'روزهای فعالیت.',
        connectedClients: 'تعداد مشتریان متصل.',
        usedMemory: 'مصرف حافظه فعلی Redis.',
        usedMemoryRss: 'اندازه حافظه درخواستی از سیستم عامل.',
        usedMemoryPeak: 'اوج مصرف حافظه Redis.',
        memFragmentationRatio: 'نسبت تکه‌تکه شدن حافظه.',
        totalConnectionsReceived: 'تعداد کل مشتریان متصل از زمان اجرا.',
        totalCommandsProcessed: 'تعداد کل دستورات اجرا شده از زمان اجرا.',
        instantaneousOpsPerSec: 'تعداد دستورات اجرا شده توسط سرور در ثانیه.',
        keyspaceHits: 'تعداد دفعاتی که کلید پایگاه داده با موفقیت پیدا شد.',
        keyspaceMisses: 'تعداد دفعات ناموفق در یافتن کلید پایگاه داده.',
        hit: 'نسبت برخورد کلید پایگاه داده.',
        latestForkUsec: 'تعداد میکروثانیه‌های صرف شده برای آخرین عملیات fork().',
        redisCliHelper: '"redis-cli" شناسایی نشد. ابتدا سرویس را فعال کنید.',
        redisQuickCmd: 'دستورات سریع Redis',
        recoverHelper: 'این کار داده‌ها را با [{0}] بازنویسی می‌کند. ادامه می‌دهید؟',
        mongodbRecoverDropAllCollections: 'پاک کردن پایگاه داده جاری قبل از بازیابی',
        mongodbRecoverDropAllCollectionsHelper:
            'به‌طور پیش‌فرض، فقط مجموعه‌های موجود بازنویسی می‌شوند و مجموعه‌های تازه اضافه شده حفظ می‌شوند. در صورت فعال بودن، پایگاه داده جاری پاک شده و سپس از پشتیبان بازیابی می‌شود.',
        submitIt: 'بازنویسی داده',
        baseConf: 'پایه',
        allConf: 'همه',
        restartNow: 'همین حالا راه‌اندازی مجدد',
        restartNowHelper1:
            'برای اعمال تغییرات پیکربندی، باید سیستم را مجدداً راه‌اندازی کنید. اگر داده‌های شما نیاز به ماندگاری دارند، ابتدا عملیات ذخیره را انجام دهید.',
        restartNowHelper: 'این فقط پس از راه‌اندازی مجدد سیستم اعمال می‌شود.',
        persistence: 'ماندگاری',
        rdbHelper1: 'ثانیه، درج',
        rdbHelper2: 'تکه داده',
        rdbHelper3: 'برآورده شدن هر یک از شرایط، باعث ایجاد RDB می‌شود.',
        rdbInfo: 'اطمینان حاصل کنید که مقدار در لیست قوانین بین ۱ تا ۱۰۰۰۰۰ است',
        containerConn: 'اتصال کانتینر',
        copyConnURL: 'کپی URL اتصال',
        connAddress: 'آدرس',
        containerConnHelper:
            'این آدرس اتصال توسط برنامه‌هایی استفاده می‌شود که در محیط اجرای PHP/نصب کانتینر اجرا می‌شوند.',
        remoteConn: 'اتصال خارجی',
        remoteConnHelper2:
            'این آدرس اتصال می‌تواند توسط برنامه‌هایی که روی غیر کانتینر یا برنامه‌های خارجی اجرا می‌شوند استفاده شود.',
        remoteConnHelper3:
            'آدرس دسترسی پیش‌فرض IP میزبان است. برای تغییر آن، به آیتم پیکربندی "آدرس دسترسی پیش‌فرض" در صفحه تنظیمات پنل بروید.',
        localIP: 'IP محلی',
    },
    aiTools: {
        agents: {
            agent: 'عامل',
            account: 'حساب مدل',
            batchOperation: 'عملیات دسته‌ای',
            operationType: 'نوع عملیات',
            batchAction: 'دسته‌ای {0}',
            installSkillAction: 'توزیع مهارت',
            batchAgentTask: 'دسته‌ای {0} عامل',
            dispatchAgentTask: 'ارسال {0} وظیفه به عامل',
            dispatchTask: 'ارسال {0} وظیفه',
            taskSubmitted: 'وظیفه {0} ارسال شد',
            allNodes: 'همه گره‌ها',
            targetVersion: 'نسخه هدف',
            skillSource: 'منبع مهارت',
            skillKeyword: 'کلیدواژه مهارت',
            clawHubSkillPlaceholder: 'ابتدا یک مهارت را جستجو و انتخاب کنید',
            noAccountHint: 'یک حساب مدل موجود انتخاب کنید یا یک حساب جدید اضافه کنید.',
            accountCount: '{0} حساب مدل',
            syncAgents: 'همگام‌سازی عامل‌های مرتبط',
            syncAgentsHelper: 'به‌روزرسانی openclaw.json برای عامل‌هایی که از این حساب مدل استفاده می‌کنند',
            appVersion: 'نسخه برنامه',
            webuiPort: 'پورت WebUI',
            tokenOrAuth: 'Token/احراز هویت',
            allowedOrigins: 'آدرس‌های دسترسی',
            allowedOriginsRequired: 'حداقل یک آدرس دسترسی وارد کنید',
            allowedOriginsInvalid: 'از فرمت http(s)://host-or-ip[:port] استفاده کنید',
            provider: 'ارائه‌دهنده',
            accountModelsHelper:
                'انتخاب کنید که این حساب چه مدل‌هایی را برای OpenClaw جهت انتخاب و پیکربندی در دسترس قرار دهد',
            accountModelsRequired: 'حداقل یک مدل انتخاب کنید',
            verifyModel: 'مدل بررسی',
            verifyModelHelper:
                'مدلی را انتخاب کنید که این حساب به آن دسترسی دارد. هنگام ذخیره، یک درخواست حداقلی برای بررسی اتصال ارسال می‌شود.',
            verifyModelRequired: 'یک مدل بررسی انتخاب کنید',
            discoverModels: 'دریافت مدل‌ها',
            automaticModelDiscovery: 'دریافت خودکار',
            manualModelConfiguration: 'پیکربندی دستی',
            discoverModelsHelper:
                'مدل‌ها را از API ‏/v1/models ارائه‌دهنده دریافت و همه را به مجموعه مدل‌ها اضافه کنید',
            discoverModelsFailedFallback: 'دریافت مدل‌ها ناموفق بود. مدل را به‌صورت دستی پیکربندی کنید.',
            discoverModelsFailedUseDefaults: 'دریافت مدل‌ها ناموفق بود. از مدل‌های پیش‌فرض استفاده می‌شود.',
            accountModelsDuplicate: 'مدل‌های تکراری در کاتالوگ یافت شد',
            modelPool: 'مجموعه مدل‌ها',
            fallbackModels: 'مدل‌های جایگزین',
            addFallbackModel: 'افزودن مدل جایگزین',
            fallbackModelsEmpty: 'هیچ مدل جایگزینی پیکربندی نشده است',
            modelInputTypes: 'انواع ورودی',
            reasoning: 'مدل استدلالی',
            verified: 'تأیید شده',
            verifySkipped: 'بدون تأیید',
            skillsTab: 'مهارت‌ها',
            pluginsTab: 'افزونه‌ها',
            pluginsInstalled: 'نصب‌شده',
            pluginsMarket: 'بازار افزونه‌ها',
            pluginsMarketHint: 'برای جستجوی افزونه یک کلیدواژه وارد کنید',
            pluginSearchPlaceholder: 'جستجوی افزونه‌ها...',
            pluginOrigin: 'منبع',
            pluginOriginAll: 'همه منابع',
            pluginOriginBundled: 'داخلی',
            pluginOriginExternal: 'خارجی',
            pluginStatusAll: 'همه وضعیت‌ها',
            pluginEnabled: 'فعال',
            pluginDisabled: 'غیرفعال',
            pluginCategory: 'دسته‌بندی',
            pluginVerification: 'اعتبارسنجی',
            pluginOfficial: 'رسمی',
            pluginCommunity: 'جامعه',
            pluginDownloads: 'دانلودها',
            pluginEnable: 'فعال‌کردن',
            pluginDisable: 'غیرفعال‌کردن',
            pluginListEmpty: 'افزونه‌ای وجود ندارد',
            pluginSearchEmpty: 'افزونه مرتبطی پیدا نشد',
            pluginInstallConfirm: 'افزونه {0} نصب شود؟',
            pluginDisableConfirm: 'افزونه {0} غیرفعال شود؟',
            pluginUninstallConfirm: 'افزونه {0} حذف شود؟',
            securityTab: 'امنیت',
            otherTab: 'سایر',
            timeZone: 'منطقه زمانی',
            browserEnabled: 'مرورگر فعال',
            npmRegistry: 'ثبت‌نامه NPM',
            npmRegistryHelper:
                'برای نصب افزونه OpenClaw استفاده می‌شود. می‌توانید یک ثبت‌نامه از پیش تعیین شده انتخاب کنید یا یک ثبت‌نامه سفارشی وارد کنید.',
            npmRegistryInvalid: 'یک URL معتبر برای ثبت‌نامه NPM وارد کنید که با http:// یا https:// شروع شود',
            pluginInstallNPMRegistryHelper:
                'به تنظیمات -> سایر بروید تا ثبت‌نامه NPM را پیکربندی کرده و نصب افزونه را سرعت بخشید',
            skillsSearchPlaceholder: 'جستجوی مهارت‌ها...',
            skillsEmpty: 'هیچ مهارتی وجود ندارد',
            skillsMarket: 'بازار مهارت',
            skillsMarketHint: 'یک منبع انتخاب کنید و مهارت‌ها را جستجو کنید',
            skillsMarketEmpty: 'هیچ مهارت منطبقی یافت نشد',
            skillsMarketSourceClawhubGlobal: 'ClawHub (جهانی)',
            skillsMarketSourceClawhubChina: 'ClawHub (چین)',
            skillsMarketSourceSkillhub: 'SkillHub (Tencent)',
            skillsMarketSourceLocalHub: 'فروشگاه محلی مهارت',
            skillsScore: 'امتیاز',
            skillsMarketSourceOfficial: 'رسمی',
            versionUnsupportedTitle: 'این ویژگی در نسخه فعلی پشتیبانی نمی‌شود',
            versionUnsupportedHelper: 'لطفاً OpenClaw را به نسخه {0} یا بالاتر ارتقاء دهید.',
            skillsGroupBuiltIn: 'داخلی',
            skillsGroupExternal: 'خارجی',
            skillsGroupWorkspace: 'فضای کار',
            switchModelSuccess: 'مدل با موفقیت تغییر کرد',
            channelsTab: 'کانال‌ها',
            agentRoleTab: 'عامل‌ها',
            agentRoleUnsupported: 'مدیریت نقش در حال حاضر فقط برای OpenClaw پشتیبانی می‌شود.',
            workspace: 'دایرکتوری فضای کار',
            agentDir: 'دایرکتوری عامل',
            roleMarkdownDescriptions: {
                'AGENTS.md': [
                    'دستورالعمل‌های عملیاتی برای عامل و نحوه استفاده از حافظه.',
                    'مکان خوب برای قوانین، اولویت‌ها و جزئیات "نحوه رفتار".',
                ],
                'SOUL.md': ['شخصیت، لحن و مرزها.'],
                'USER.md': ['کاربر کیست و چگونه خطاب شود.'],
                'IDENTITY.md': ['نام، حالت و ایموجی عامل.'],
                'TOOLS.md': ['یادداشت‌هایی درباره ابزارها و قراردادهای محلی شما.'],
                'HEARTBEAT.md': [
                    'لیست کوچک اختیاری برای اجرای ضربان قلب.',
                    'برای جلوگیری از سوختن توکن، کوتاه نگه دارید.',
                ],
                'BOOT.md': [
                    'لیست شروع اختیاری که هنگام راه‌اندازی مجدد دروازه و فعال بودن هوک‌های داخلی اجرا می‌شود.',
                    'کوتاه نگه دارید؛ برای ارسال‌های خروجی از ابزار پیام استفاده کنید.',
                ],
                'BOOTSTRAP.md': ['مراسم یک‌باره اولین اجرا.', 'فقط برای یک فضای کار کاملاً جدید ایجاد می‌شود.'],
            },
            duplicateBinding: 'ترکیب کانال و شناسه حساب باید یکتا باشد',
            accountIdOptional: 'شناسه حساب (اختیاری)',
            saveAllMd: 'ذخیره همه',
            roleMarkdownRestartHelper:
                'ذخیره همه فایل‌های مارک‌داون فعلی نیاز به راه‌اندازی مجدد کانتینر دارد تا اعمال شود. انتخاب کنید که اکنون یا بعداً راه‌اندازی مجدد شود.',
            configFileRestartHelper: 'ذخیره فایل پیکربندی نیاز به راه‌اندازی مجدد فوری کانتینر دارد تا اعمال شود.',
            overviewSnapshot: 'تصویر لحظه‌ای',
            primaryModel: 'مدل اصلی',
            defaultModel: 'مدل پیش‌فرض',
            channelCount: 'کانال‌های پیکربندی شده',
            skillCount: 'مهارت‌ها',
            jobCount: 'وظایف زمان‌بندی شده',
            sessionCount: 'جلسات',
            hermesChatAction: 'گفتگو',
            hermesChatTitle: 'گفتگوی هرمس',
            hermesChatDialogTitle: 'گفتگوی هرمس - {0}',
            hermesChatNewChat: 'گفتگوی جدید',
            hermesChatNoSessions: 'هیچ جلسه‌ای',
            hermesChatMessageCount: '{0} پیام',
            hermesChatEmptyHint: 'یک جلسه انتخاب کنید یا روی گفتگوی جدید کلیک کنید',
            hermesChatTitlePlaceholder: 'عنوان جلسه را وارد کنید',
            hermesChatRenameSuccess: 'عنوان جلسه به‌روزرسانی شد',
            hermesChatDeleteConfirm: 'جلسه {0} حذف شود؟',
            hermesChatDeleteSuccess: 'جلسه حذف شد',
            weixin: 'وی‌چت',
            wecom: 'WeCom',
            dingtalk: 'دینگ‌تاک',
            feishu: 'فیشو',
            pluginNotInstalled: 'افزونه نصب نشده است. لطفاً ابتدا آن را نصب کنید.',
            dmPolicy: 'خط مشی DM',
            threadSession: 'جلسه رشته',
            replyMode: 'حالت پاسخ',
            requireMention: 'نیاز به ذکر',
            requireMentionTrue: "نیاز به {'@'}",
            requireMentionFalse: "بدون نیاز به {'@'}",
            requireMentionOpen: 'بر اساس پیکربندی گروه',
            groupPolicy: 'خط مشی گروه',
            policyAllowlist: 'لیست سفید',
            policyOpen: 'باز',
            policyDisabled: 'غیرفعال',
            bots: 'ربات‌ها',
            addBot: 'افزودن ربات',
            accountId: 'شناسه حساب',
            accountIdPlaceholder: 'یک شناسه یکتا برای تشخیص ربات‌ها و برای پیکربندی و مسیریابی بعدی.',
            setDefaultBot: 'تنظیم به عنوان پیش‌فرض',
            botDuplicateField: '{field} از قبل وجود دارد',
            botRequired: 'حداقل یک ربات اضافه کنید',
            botId: 'شناسه ربات',
            allowFrom: 'لیست سفید DM',
            allowFromPlaceholder: 'یک شناسه فرستنده در هر خط',
            allowlistPolicyHelper: '{0}. فقط زمانی استفاده می‌شود که {1} لیست سفید باشد.',
            systemPrompt: 'راهنمای سیستم',
            groupAllowFrom: 'لیست سفید گروه',
            groupAllowFromPlaceholder: 'یک شناسه گروه در هر خط',
            separateSessionByConversation: 'جلسه جداگانه بر اساس گفتگو',
            groupSessionScope: 'دامنه جلسه گروه',
            groupSessionScopeGroup: 'مشترک در گروه',
            groupSessionScopeGroupSender: 'به ازای هر فرستنده',
            sharedMemoryAcrossConversations: 'اشتراک حافظه در بین گفتگوها',
            asyncMode: 'حالت ناهمزمان',
            ackText: 'متن تأیید',
            ackTextDefault: 'وظیفه دریافت شد، در حال پردازش...',
            streaming: 'پخش جریانی',
            streamingOff: 'خاموش',
            streamingPartial: 'جزئی',
            streamingBlock: 'مسدود',
            streamingProgress: 'پیشرفت',
            allowFromRequired: 'حداقل یک ورودی لیست سفید وارد کنید',
            pairingCode: 'کد جفت‌سازی',
            pairingCodePlaceholder: 'کد جفت‌سازی را وارد کنید',
            approvePairing: 'تأیید جفت‌سازی',
            saveSuccess: 'ذخیره با موفقیت انجام شد',
            successAndRestart: '{0}. کانتینر به طور خودکار در حال راه‌اندازی مجدد است.',
            pairingApproveSuccess: 'جفت‌سازی با موفقیت تأیید شد',
            scanConnect: 'اسکن برای اتصال',
            scanConnectHelper:
                'برای شروع کار ورود با QR کلیک کنید. کد QR در لاگ وظیفه ظاهر می‌شود و پس از اسکان موفق، کانتینر به طور خودکار مجدداً راه‌اندازی می‌شود.',
            channelAutoRestartHelper: 'ذخیره به طور خودکار کانتینر را مجدداً راه‌اندازی می‌کند تا تغییرات اعمال شوند.',
            dashboardAuthAutoRebuildHelper:
                'ذخیره نام کاربری یا رمز عبور، کانتینر را به‌طور خودکار بازسازی می‌کند تا تغییرات اعمال شوند.',
            dashboardAuthImmediateHelper:
                'با ذخیره‌سازی، اطلاعات ورود QwenPaw بدون راه‌اندازی مجدد کانتینر فوراً به‌روزرسانی می‌شود.',
            channelDeleteConfirm: 'پیکربندی کانال {0} حذف شود؟',
            apiTypeBaseURLHelper: 'این نوع درخواست‌ها را به {0} ارسال می‌کند. Base URL پیشنهادی: {1}',
            apiTypeBaseURLMismatch: 'Base URL فعلی شبیه مسیر {0} است، اما {1} انتخاب شده است. URL پیشنهادی: {2}',
            customImageURLHelper:
                'برای حساب Custom، URL کامل رابط تولید تصویر را وارد کنید. مسیر به‌صورت خودکار افزوده نمی‌شود. نمونه: {0}',
            validateAvailability: 'اعتبارسنجی دسترس‌پذیری حساب',
            validateAvailabilityHelper: 'پیش از ذخیره یک پیام حداقلی برای بررسی API ارسال می‌شود',
            validateImageAvailabilityHelper: 'پیش از ذخیره یک تصویر حداقلی تولید می‌شود و ممکن است هزینه داشته باشد',
        },
        model: {
            model: 'مدل‌ها',
            localModel: 'مدل‌های محلی',
            create_helper: 'دریافت "{0}"',
            ollama_doc: 'می‌توانید از وب‌سایت رسمی Ollama دیدن کنید و مدل‌های بیشتری را جستجو کنید.',
            container_conn_helper: 'از این آدرس برای دسترسی بین کانتینرها یا اتصال استفاده کنید',
            ollama_sync: 'همگام‌سازی مدل Ollama نشان داد که مدل‌های زیر وجود ندارند، آیا می‌خواهید آنها را حذف کنید؟',
            from_remote: 'این مدل از طریق 1Panel دانلود نشده است، لاگ مربوط به دریافت وجود ندارد.',
            no_logs: 'لاگ دریافت این مدل حذف شده است و قابل مشاهده نیست.',
            vllmVersionHelper: 'برای سرورهای FusionXpark GB 10، لطفاً نسخه -cu130 را انتخاب کنید.',
            vllmCommandPortHelper:
                'فرمان راه‌اندازی باید از پورت {0} استفاده کند؛ در غیر این صورت سرویس قابل دسترسی نخواهد بود.',
            syncModelAccount: 'همگام‌سازی با حساب مدل',
            modelAccountAddressHelper:
                'آدرس کانتینر برای کانتینرهای عامل است؛ 127.0.0.1، IP سیستم یا آدرس سفارشی برای دروازه AI یا خدمات خارجی است.',
            containerAddress: 'آدرس کانتینر',
            customAddress: 'آدرس سفارشی',
            downloader: 'دانلودکننده',
            modelDir: 'دایرکتوری مدل',
            manualDownload: 'دانلود دستی',
            modelSource: 'منبع مدل',
            repoID: 'شناسه مخزن',
            endpointLabel: 'نقطه پایانی {0}',
            acceleratedEndpointLabel: 'نقطه پایانی شتاب‌دهنده {0}',
            tokenOptionalLabel: 'توکن {0} (اختیاری)',
            searchSource: 'جستجوی {0}',
            hfEndpointHelper:
                'هنگامی که دسترسی به HuggingFace ناپایدار است، یک نقطه پایانی شتاب‌دهنده پیکربندی کنید. جستجو، جزئیات و دانلود از آن استفاده خواهند کرد.',
            sortTrending: 'محبوب‌ترین',
            sortLikes: 'بیشترین لایک',
            sortDownloads: 'بیشترین دانلود',
            sortUpdated: 'اخیراً به‌روزرسانی شده',
            sortCreated: 'جدیدترین',
            downloadsCount: 'دانلودها',
            likes: 'لایک‌ها',
            taskQueue: 'صف دانلود',
            progress: 'پیشرفت',
            localDownloaded: 'دانلود شده',
            modelInfo: 'جزئیات مدل',
            downloading: 'در حال دانلود',
            canceled: 'لغو شده',
            downloadQueued: 'به صف دانلود اضافه شد',
            cancelTaskConfirm: 'این وظیفه دانلود لغو شود؟',
            deleteLocalModelConfirm: 'مدل محلی {0} حذف شود؟',
        },
        proxy: {
            proxy: 'ارتقاء دروازه AI',
            proxyHelper1: 'دامنه را متصل کرده و HTTPS را فعال کنید تا امنیت انتقال افزایش یابد',
            proxyHelper2: 'دسترسی IP را محدود کنید تا از قرار گرفتن در اینترنت عمومی جلوگیری شود',
            proxyHelper3: 'فعال‌سازی پخش جریانی',
            proxyHelper4: 'پس از ایجاد، می‌توانید آن را در لیست وب‌سایت‌ها مشاهده و مدیریت کنید',
            proxyHelper5:
                'پس از فعال‌سازی، می‌توانید دسترسی خارجی به پورت را در فروشگاه برنامه - نصب شده - Ollama - پارامترها غیرفعال کنید تا امنیت بهبود یابد.',
            proxyHelper6: 'برای غیرفعال کردن پیکربندی پروکسی، می‌توانید آن را از لیست وب‌سایت‌ها حذف کنید.',
            whiteListHelper: 'دسترسی را فقط به IP‌های موجود در لیست سفید محدود کنید',
        },
        aiProxy: {
            title: 'دروازه AI',
            apiReference: 'راهنمای API',
            notInstalled: 'نصب نشده',
            usage: 'استفاده',
            accountPool: 'مجموعه حساب‌ها',
            importModelAccount: 'واردات حساب مدل',
            editModelAccount: 'ویرایش حساب مدل',
            selectModelAccount: 'یک حساب مدل موجود انتخاب کنید',
            upstreamApiAddress: 'آدرس API بالادست',
            priority: 'اولویت',
            healthStatus: 'سلامت',
            failureCount: 'تعداد شکست‌ها',
            lastError: 'آخرین خطا',
            modelMap: 'نگاشت مدل',
            qpsLimit: 'محدودیت QPS',
            tokenLimit: 'محدودیت توکن',
            tokenUsed: 'توکن استفاده شده',
            tokenRemaining: 'توکن باقی‌مانده',
            resetToken: 'بازنشانی توکن‌ها',
            resetTokenConfirm: 'استفاده از توکن برای {0} بازنشانی شود؟',
            unlimited: 'نامحدود',
            unlimitedWithAuto: 'نامحدود، شامل auto',
            apiKeyCount: 'کلیدهای API',
            lastUsedAt: 'آخرین استفاده',
            validityPeriod: 'دوره اعتبار',
            keepCurrentValidity: 'حفظ اعتبار فعلی',
            neverExpires: 'بدون انقضا',
            validForDays: 'معتبر برای {0} روز',
            customDays: 'تعداد روز سفارشی',
            enterValidityDays: 'مدت اعتبار را به روز وارد کنید',
            currentExpiresAt: 'زمان انقضای فعلی: {0}',
            currentNeverExpires: 'در حال حاضر بدون انقضا',
            expiresAt: 'زمان انقضا',
            expired: 'منقضی شده',
            reactivate: 'فعال‌سازی مجدد',
            settingTitle: 'تنظیمات دروازه AI',
            basicSetting: 'تنظیمات پایه',
            performanceSetting: 'تنظیمات عملکرد',
            logSetting: 'تنظیمات لاگ',
            lbPolicy: 'خط مشی توزیع بار',
            protocolConversion: 'تبدیل پروتکل',
            protocolConversionDesc:
                'تبدیل مستقیم پشتیبانی‌شده بین Chat Completions، Responses و Anthropic Messages را فعال می‌کند. پروتکل بومی همیشه اولویت دارد.',
            protocolConversionRisk:
                'تبدیل پروتکل بدون اتلاف تضمین نمی‌شود. فیلدهای اختصاصی، فراخوانی ابزارها، استدلال یا محتوای چندوجهی ممکن است ساده‌سازی یا حذف شوند. پس از سنجیدن ریسک‌ها استفاده کنید.',
            visionEnhancement: 'تقویت بینایی',
            visionEnhancementRisk: 'ممکن است تصاویر به ارائه‌دهنده جداگانه مدل بینایی ارسال شوند.',
            visionModelGroup: 'گروه مدل بینایی',
            visionModelGroupDesc:
                'یک مدل دارای درک تصویر از این گروه تولید متن انتخاب کنید. همه تصاویر یک درخواست از همان مدل استفاده می‌کنند.',
            visionTargetModelGroup: 'گروه مدل هدف',
            visionTargetModelGroupDesc:
                'تقویت را فقط برای مدل‌های این گروه فعال می‌کند و مدل نهایی درخواست را تغییر نمی‌دهد.',
            visionEnhancementDesc:
                'تصاویر به شواهد متنی تبدیل می‌شوند و ممکن است جزئیات از دست برود و تأخیر و هزینه افزایش یابد. درگاه پشتیبانی بومی تصویر را تشخیص نمی‌دهد. ذخیره‌سازی درگاه را راه‌اندازی مجدد می‌کند؛ پس از سنجیدن ریسک‌ها استفاده کنید.',
            visionPreprocess: 'پیش‌پردازش بینایی',
            cacheHit: 'اصابت حافظه نهان',
            apiType: 'نوع API',
            lbPolicyRoundRobin: 'چرخه‌ای',
            lbPolicyRoundRobinDesc:
                'حساب‌های مدل موجود را به ترتیب انتخاب کنید. زمانی استفاده شود که بک‌اندها ظرفیت مشابهی دارند.',
            lbPolicyWeightedRoundRobin: 'چرخه‌ای وزنی',
            lbPolicyWeightedRoundRobinDesc:
                'درخواست‌ها را بر اساس وزن حساب مدل توزیع کنید. وزن بالاتر ترافیک بیشتری دریافت می‌کند؛ زمانی که ظرفیت بک‌اند متفاوت است استفاده شود.',
            lbPolicyFailover: 'خرابی',
            lbPolicyFailoverDesc:
                'ابتدا از حساب مدل با بالاترین اولویت استفاده کنید، سپس پس از خرابی یا دوره خنک‌سازی به حساب بعدی موجود تغییر دهید.',
            maxConcurrency: 'حداکثر هم‌روندی',
            queueSize: 'اندازه صف',
            queueTimeoutSeconds: 'مهلت انتظار در صف (ثانیه)',
            requestTimeoutSeconds: 'مهلت درخواست غیر جریانی (ثانیه)',
            streamIdleTimeoutSeconds: 'مهلت بیکاری جریان (ثانیه)',
            maxBodyMb: 'حداکثر اندازه بدنه (MB)',
            runtimeRefreshSeconds: 'فاصله بازخوانی زمان اجرا (ثانیه)',
            logRetentionDays: 'مدت نگهداری لاگ دروازه AI (روز)',
            clearLogs: 'پاک کردن لاگ‌ها',
            clearLogsConfirm:
                'آمار استفاده، حسابرسی انطباق محتوا، تصمیم‌های مسیریابی هوشمند، لاگ بدنه درخواست و لاگ سرویس دروازه AI پاک می‌شود. ادامه می‌دهید؟',
            usageRetentionDays: 'مدت نگهداری آمار استفاده (روز)',
            contentAuditRetentionDays: 'مدت نگهداری حسابرسی انطباق محتوا (روز)',
            logCleanupIntervalHours: 'فاصله پاک‌سازی لاگ (ساعت)',
            requestBodyLog: 'لاگ بدنه درخواست',
            requestBodyLogDesc:
                'بدنه درخواست و پاسخ AI Gateway را برای جستجو، بازبینی و عیب‌یابی در Elasticsearch می‌نویسد.',
            requestBodyLogIndexPrefix: 'پیشوند ایندکس',
            requestBodyLogRetentionDays: 'مدت نگهداری لاگ بدنه درخواست (روز)',
            requestBodyLogMaxBodyKb: 'حداکثر اندازه بدنه درخواست (KB)',
            requestBody: 'بدنه درخواست',
            requestBodySize: 'اندازه بدنه درخواست',
            requestBodyTruncated: 'کوتاه شده',
            responseBody: 'بدنه پاسخ',
            responseBodySize: 'اندازه بدنه پاسخ',
            responseBodyTruncated: 'کوتاه شده',
            readableContent: 'محتوا قابل خواندن',
            rawResponse: 'پاسخ خام',
            replyContent: 'محتوا پاسخ',
            reasoningContent: 'محتوا استدلال',
            statusTitle: 'وضعیت دروازه AI',
            serviceEnabled: 'شروع خودکار سرویس',
            proxyEnabled: 'دروازه فعال',
            statusMessage: 'پیام وضعیت',
            esLogDropped: 'لاگ ES حذف شده',
            esLogLastSuccessAt: 'آخرین نوشته ES',
            esLogCircuitOpen: 'مدار باز',
            esLogCircuitUntil: 'مدار ES تا',
            serviceOperateConfirm: 'تأیید {0} سرویس دروازه AI؟',
            deleteTargetConfirm: 'حذف {0} {1}؟',
            deleteBackendTitle: 'حذف حساب مدل',
            userFallback: 'کاربر حذف شده (شناسه: {0})',
            requestModel: 'مدل درخواست',
            upstreamModel: 'مدل بالادست',
            upstreamDuration: 'زمان بالادست',
            requestModelPlaceholder: 'مثلاً qwen2.5-coder',
            upstreamModelPlaceholder: 'مثلاً Qwen/Qwen2.5-Coder-32B-Instruct',
            addMapping: 'افزودن نگاشت',
            overview: 'نمای کلی',
            distribution: 'توزیع',
            usageTrend: 'روند استفاده',
            distributionBy: 'توزیع {0}',
            unmatched: 'بدون تطابق',
            modelAccount: 'حساب مدل',
            serviceProvider: 'ارائه‌دهنده',
            tokenUsage: 'استفاده از توکن',
            percent: 'درصد',
            ranking: 'رتبه‌بندی',
            rank: 'رتبه',
            promptToken: 'توکن‌های راهنما',
            completionToken: 'توکن‌های تکمیل',
            totalToken: 'مجموع توکن‌ها',
            cachedToken: 'توکن‌های کش شده',
            cacheHitRate: 'نرخ برخورد کش',
            activeUsers: 'کاربران فعال',
            activeModels: 'مدل‌های فعال',
            failedRequests: 'درخواست‌های ناموفق',
            averageTokenPerRequest: 'میانگین توکن در هر درخواست',
            callLogs: 'لاگ‌های فراخوانی',
            usageKeywordPlaceholder: 'جستجوی شناسه درخواست / مدل / مدل بالادست / پیام خطا',
            attemptChain: 'زنجیره تلاش',
            attemptIndex: 'ترتیب فراخوانی',
            clientProtocol: 'API کاربر',
            upstreamProtocol: 'API بالادست',
            conversionPath: 'مسیر تبدیل',
            noAttemptDetails: 'هیچ سابقه‌ای از زنجیره تلاش وجود ندارد',
            input: 'ورودی',
            output: 'خروجی',
            total: 'مجموع',
            healthHealthy: 'سالم',
            healthCooldown: 'در حال خنک‌سازی',
            healthUnhealthy: 'ناسالم',
            healthDeleted: 'حذف شده',
            healthUnknown: 'ناشناخته',
            validationModelMapEmpty: 'نام‌های نگاشت مدل نمی‌توانند خالی باشند',
            validationModelMapDuplicate: 'مدل درخواست {0} تکراری است',
            modelGroup: 'گروه مدل',
            modelCapability: 'قابلیت مدل',
            textGeneration: 'تولید متن',
            imageGeneration: 'تولید تصویر',
            textModels: 'مدل‌های متنی',
            textToImageModels: 'مدل‌های متن به تصویر',
            unauthorized: 'بدون مجوز',
            imageCount: 'تعداد تصاویر',
            availableModels: 'مدل‌های موجود',
            modelGroupModels: 'مدل‌های درخواست',
            modelGroupModelsPlaceholder: 'نام‌های مدل درخواست را انتخاب یا وارد کنید',
            modelGroupModelsHelper:
                'نام مدل‌های درخواستی را که کلاینت برای فراخوانی دروازه AI استفاده می‌کند وارد کنید؛ مسیریابی هوشمند مدل‌ها را به‌ترتیب امتحان می‌کند و بین مدل‌ها توازن بار انجام نمی‌دهد.',
            modelGroupGuide:
                'گروه‌های مدل شامل نام مدل‌های درخواستی ارائه‌شده توسط دروازه AI هستند. مدل‌های upstream را در نگاشت مدل استخر حساب‌ها تنظیم کنید. auto نام مدل مجازی است و نباید به گروه مدل اضافه شود.',
            modelGroupModelCount: '{0} مدل',
            contentCompliance: 'انطباق محتوا',
            contentAction: 'اقدام',
            actionBlock: 'مسدود',
            actionAuditOnly: 'فقط حسابرسی',
            actionDropHistory: 'حذف تاریخچه',
            severity: 'شدت',
            severityHigh: 'بالا',
            severityMedium: 'متوسط',
            severityLow: 'پایین',
            sensitiveWord: 'کلمه حساس',
            sensitiveGroup: 'گروه کلمات حساس',
            sensitiveWordCount: 'کلمات',
            normalizedWord: 'کلمه نرمال شده',
            matchedWords: 'کلمات تطابق یافته',
            matchedGroups: 'گروه‌های تطابق یافته',
            importResult: 'وارد شد {0}، تکراری {1}، نامعتبر {2}',
            auditLogs: 'لاگ‌های حسابرسی',
            smartRoute: 'مسیریابی هوشمند',
            smartRouteGuideTitle: 'برای ورود به مسیریابی هوشمند در کلاینت از model=auto استفاده کنید',
            smartRouteGuideReady:
                'model=auto بر اساس پیچیدگی درخواست از گروه مدل ساده یا پیچیده انتخاب می‌کند. مدل‌های دیگر به‌صورت عادی ارسال می‌شوند.',
            smartRouteGuideNotReady:
                'ابتدا مسیریابی هوشمند را فعال و گروه‌های ساده/پیچیده را تنظیم کنید. سپس در کلاینت از model=auto استفاده کنید.',
            copyAutoModel: 'کپی auto',
            goSmartRouteSetting: 'رفتن به تنظیمات',
            smartRoutePolicy: 'سیاست مسیریابی',
            routeConfig: 'پیکربندی مسیریابی',
            embeddingConfig: 'پیکربندی Embedding',
            embeddingConfigDesc:
                'برای مسیریابی هوشمند و تطبیق معنایی نمونه‌های انطباق محتوا استفاده می‌شود. پیشنهاد: llama.cpp + Qwen3-Embedding-0.6B. پیش از بازسازی بردارهای نمونه آن را پیکربندی کنید.',
            decisionConfig: 'پارامترهای تصمیم',
            simpleModelGroup: 'گروه مدل ساده',
            complexModelGroup: 'گروه مدل پیچیده',
            embeddingEndpoint: 'نقطه پایانی',
            embeddingModel: 'مدل',
            embeddingApiKey: 'کلید API',
            routeThreshold: 'آستانه مسیریابی',
            routeThresholdHelper:
                'برای مسیریابی هوشمند: فقط وقتی شباهت درخواست به این مقدار برسد، نتیجه نمونه‌ها استفاده می‌شود.',
            auditThreshold: 'آستانه بازبینی',
            auditThresholdHelper:
                'برای انطباق محتوا: فقط وقتی شباهت به این مقدار برسد، نمونه بازبینی تطبیق محسوب می‌شود.',
            topK: 'TopK',
            topKHelper: 'تعداد شبیه‌ترین نمونه‌هایی که هر بار مقایسه می‌شوند.',
            members: 'اعضا',
            samples: 'نمونه‌ها',
            routeSamplesGuide:
                'نمونه‌ها مثال‌های درخواست ساده/پیچیده برای تطبیق شباهت Embedding هستند. درخواست‌های واقعی کاربر را وارد کنید، سپس بردار بسازید یا بازسازی کنید.',
            rebuildVectors: 'بازسازی بردارها',
            rebuildVectorsConfirm:
                'بازسازی بردارها باعث می‌شود سرویس Embedding دوباره نمونه‌های مسیریابی هوشمند و انطباق محتوا را پردازش کند. ادامه می‌دهید؟',
            createVectorOnImport: 'ایجاد بردار پس از واردسازی',
            createVectorOnImportHelper:
                'به‌صورت پیش‌فرض فعال است. اگر Embedding پیکربندی شده باشد، یک کار پس‌زمینه بردارها را می‌سازد؛ در غیر این صورت فقط نمونه‌ها ساخته می‌شوند.',
            route: 'مسیر',
            audit: 'بازبینی',
            auditSamples: 'نمونه‌های بازبینی',
            sampleText: 'متن',
            sampleLabel: 'برچسب',
            vectorModel: 'مدل برداری',
            vectorDim: 'بعد',
            threshold: 'آستانه',
            preview: 'پیش‌نمایش',
            previewGuide:
                'پیش‌نمایش بدون فراخوانی مدل upstream بررسی می‌کند درخواست ساده است یا پیچیده. منبع، تطبیق نمونه یا قاعده است.',
            previewPlaceholder: 'متن درخواست را وارد کنید',
            confidence: 'اطمینان',
            bestSampleSimilarity: 'بیشترین شباهت نمونه',
            source: 'منبع',
            sourceHeuristic: 'قضاوت بر اساس قانون',
            sourceEmbedding: 'تطبیق نمونه',
            sourceContext: 'وراثت زمینه',
            latency: 'تاخیر',
            decisionLogs: 'گزارش تصمیم‌ها',
            requestID: 'شناسه درخواست',
            simple: 'ساده',
            complex: 'پیچیده',
            sampleLabelSafe: 'ایمن',
            sampleLabelReview: 'بازبینی',
            sampleLabelBlock: 'مسدود',
            latencyMs: 'تاخیر(ms)',
            smartRouteSettingGuide:
                'پس از فعال‌سازی، فقط درخواست‌های model=auto مسیریابی هوشمند را فعال می‌کنند. گروه ساده برای وظایف کم‌هزینه و گروه پیچیده برای تحلیل کد، طراحی معماری و عیب‌یابی است.',
            sampleLabelPlaceholder: 'ساده / پیچیده / بالا',
            sampleImportPlaceholder: 'هر خط یک نمونه',
        },
        skillsHub: {
            title: 'مرکز مهارت',
            upload: 'بارگذاری مهارت',
            importSkill: 'واردات مهارت',
            repositoryAddress: 'آدرس مخزن',
            repositoryGithubOnly: 'فقط آدرس مخزن گیت‌هاب پشتیبانی می‌شود',
            repositoryRef: 'شاخه یا برچسب',
            repositoryRefPlaceholder: 'پیش‌فرض main، در صورت شکست master را امتحان می‌کند',
            repositoryDownloadPreview: 'URL دانلود هدف:',
            packageURL: 'آدرس بسته',
            packageURLPlaceholder: 'آدرس فایل .zip را وارد کنید',
            importSuccess: 'مهارت با موفقیت وارد شد و در انتظار بررسی است.',
            source: 'منبع',
            applicableAgent: 'عامل قابل اجرا',
            overview: 'نمای کلی',
            versionHistory: 'تاریخچه نسخه',
            publishedAt: 'زمان انتشار',
            versionMarker: 'نشان',
            currentVersion: 'فعلی',
            latestVersion: 'آخرین نسخه',
            latestPublished: 'آخرین نسخه منتشرشده',
            riskLevel: 'سطح ریسک',
            riskReferenceHint:
                'سطح ریسک به طور خودکار از محتوای بسته مهارت تولید می‌شود و فقط برای مرجع بررسی است.\nکم: هیچ ریسک آشکاری یافت نشد\nمتوسط: اسکریپت، وابستگی‌ها، URL‌های خارجی یا متغیرهای محیطی\nبالا: اجرای از راه دور، اطلاعات حساس یا دستورات خطرناک',
            riskCheckResult: 'نتیجه بررسی امنیت',
            noRiskFound: 'هیچ ریسک آشکاری یافت نشد.',
            riskFilePath: 'مسیر فایل',
            riskKeyword: 'کلیدواژه یا قاعده مطابق',
            riskDescription: 'توضیح ریسک',
            publishHighRiskConfirm:
                'این مهارت دارای موارد پرخطر است و ممکن است شامل اجرای اسکریپت، دانلود خارجی یا دسترسی به اطلاعات حساس باشد. با این حال منتشر شود؟',
            approve: 'تأیید',
            reject: 'رد',
            publish: 'انتشار',
            disable: 'لغو انتشار',
            customTarget: 'عامل سفارشی',
            addCustomTarget: 'افزودن عامل',
            installToTarget: 'نصب در عامل سفارشی',
            hostSkillDir: 'دایرکتوری مهارت',
            hostSkillDirHelper: 'مسیر دایرکتوری مهارت را روی گره وارد کنید.',
            installMethod: 'روش نصب',
            copy: 'کپی',
            extract: 'استخراج',
            postInstallCommand: 'دستور پس از نصب',
            localSource: 'بارگذاری محلی',
            uploadDragTitle: 'یک بسته مهارت را اینجا رها کنید، یا برای بارگذاری کلیک کنید',
            uploadFormatLabel: 'فرمت‌ها:',
            uploadFormatValue: '.zip, .7z, .tar, .tar.gz',
            uploadSizeLabel: 'اندازه فایل:',
            uploadSizeValue: 'حداکثر ۵ مگابایت در هر فایل',
            uploadRequirementLabel: 'نیاز بسته:',
            uploadRequirementPrefix: 'بسته مهارت باید شامل',
            onlySupportedArchive: 'فقط بسته‌های مهارت .zip, .7z, .tar, .tar.gz قابل بارگذاری هستند',
            uploadSizeExceeded: 'یک بسته مهارت نباید از ۵ مگابایت بیشتر باشد',
            uploadSuccess: 'مهارت با موفقیت بارگذاری شد و در انتظار بررسی است.',
            versionAutoFillPlaceholder:
                'در صورت امکان از نام فایل به‌طور خودکار تشخیص داده می‌شود؛ آن را تأیید یا به‌صورت دستی وارد کنید',
            metadataOverwriteConfirm:
                'نسخه موجود در بسته Skill با مقدار فعلی متفاوت است. از مقدار واردشده فعلی استفاده شود؟',
            metadataOverwriteConfirmWithVersions:
                'نسخه موجود در بسته Skill با مقدار فعلی متفاوت است. نسخه بسته: {packageVersion}؛ نسخه واردشده: {inputVersion}. از مقدار واردشده فعلی استفاده شود؟',
            offlineNotice: 'محیط فعلی آفلاین است. فقط مهارت‌های فروشگاه محلی مهارت قابل نصب هستند.',
            publishConfirm: 'این مهارت منتشر شود؟ مهارت‌های منتشر شده از فروشگاه محلی مهارت قابل نصب هستند.',
            disableConfirm: 'انتشار این مهارت لغو شود؟ مهارت‌های نصب شده در عامل‌ها تحت تأثیر قرار نمی‌گیرند.',
            deleteConfirm:
                'این مهارت حذف شود؟ این عمل قابل بازگشت نیست. مهارت‌های نصب شده در عامل‌ها تحت تأثیر قرار نمی‌گیرند.',
            rejectConfirm: 'بررسی این مهارت رد شود؟ به وضعیت رد شده منتقل می‌شود.',
            downloadPublishedOnly: 'فقط بسته‌های مهارت منتشر شده قابل دانلود هستند.',
            deleteTargetConfirm: 'این عامل سفارشی حذف شود؟ کاربران دیگر نمی‌توانند آن را انتخاب کنند.',
            noInstallTarget: 'هیچ عامل سفارشی در دسترس نیست. ابتدا یک هدف نصب پیکربندی کنید.',
            postInstallConfirm: 'این هدف دارای دستور پس از نصب است. قبل از اجرا مطمئن شوید که دستور قابل اعتماد است.',
            status: {
                pending: 'در انتظار',
                approved: 'تأیید شده',
                published: 'منتشر شده',
                disabled: 'لغو انتشار',
                rejected: 'رد شده',
                deleted: 'حذف شده',
            },
            agent: {
                common: 'عمومی',
            },
            risk: {
                low: 'کم',
                medium: 'متوسط',
                high: 'بالا',
            },
            riskType: {
                script_file: 'فایل اسکریپت',
                dependency_manifest: 'بیانیه وابستگی',
                external_url: 'URL خارجی',
                environment_variable: 'متغیر محیطی',
                dockerfile: 'Dockerfile',
                command_execution: 'اجرای دستور',
                remote_script_execution: 'اجرای اسکریپت از راه دور',
                eval_execution: 'اجرای پویا',
                base64_execution: 'اجرای پس از کدگشایی Base64',
                privileged_command: 'دستور با مجوز بالا',
                dangerous_delete: 'حذف خطرناک',
                world_writable_permission: 'مجوز پرخطر',
                credential: 'مشکوک به اعتبارنامه',
                sensitive_path: 'مسیر حساس',
                suspicious_download_execute: 'دانلود و اجرای مشکوک',
                binary_content: 'محتوای باینری',
                scan_truncated: 'اسکن کوتاه شده',
            },
            riskDescriptionText: {
                script_file: 'شامل فایل‌های اسکریپت است که ممکن است دستورات محلی را اجرا کنند.',
                dependency_manifest:
                    'شامل بیانیه‌های وابستگی است که ممکن است در حین نصب وابستگی‌های خارجی را دریافت کنند.',
                external_url: 'شامل URL‌های خارجی است. تأیید کنید که آدرس‌های خروجی قابل اعتماد هستند.',
                environment_variable: 'متغیرهای محیطی را اعلام می‌کند. هدف و مقادیر پیش‌فرض آنها را تأیید کنید.',
                dockerfile: 'شامل Dockerfile است که ممکن است منطق ساخت یا اجرای تصویر را تعریف کند.',
                command_execution:
                    'شامل فراخوانی‌های مربوط به اجرای دستور است. تأیید کنید که منطق اجرا قابل اعتماد است.',
                remote_script_execution: 'شامل منطقی است که یک اسکریپت از راه دور را دانلود و مستقیماً اجرا می‌کند.',
                eval_execution: 'شامل اجرای پویا از طریق eval است.',
                base64_execution: 'شامل منطقی است که محتوا را پس از کدگشایی Base64 اجرا می‌کند.',
                privileged_command: 'شامل دستورات sudo با مجوز بالا است.',
                dangerous_delete: 'شامل دستورات حذف خطرناک است.',
                world_writable_permission: 'شامل تغییر مجوز chmod 777 است.',
                credential: 'شامل API Key، Token، Secret یا Password مشکوک است.',
                sensitive_path: 'شامل دسترسی به دایرکتوری‌ها یا فایل‌های حساس است.',
                suspicious_download_execute: 'شامل دانلود خروجی مشکوک یا منطق دانلود و اجرا است.',
                binary_content: 'فایل شامل بایت‌های NUL است و ممکن است محتوای اجرایی یا باینری را پنهان کند.',
                scan_truncated: 'فایل از حد اسکن فراتر رفته است. محتوای اسکن نشده همچنان نیاز به بررسی دستی دارد.',
            },
        },
        benchmark: {
            title: 'معیار سنجش',
            launchCommand: 'دستور راه‌اندازی',
            retest: 'آزمایش مجدد',
            statusRunning: 'در حال اجرا',
            statusWaiting: 'در انتظار',
            base: 'اطلاعات پایه',
            backend: 'بک‌اند',
            baseUrl: 'URL پایه',
            endpoint: 'نقطه پایانی',
            tokenizer: 'توکن‌ساز',
            tokenizerPlaceholder:
                'یک دایرکتوری توکن‌ساز محلی را انتخاب یا وارد کنید، مثلاً /opt/1panel/tokenizers/DeepSeek-V3',
            runConfig: 'پیکربندی اجرا',
            rawResult: 'نتیجه خام',
            resultMetrics: 'معیارهای نتیجه',
            contextTokens: 'طول زمینه',
            contextTokensHelper: 'محدودیت توکن ورودی به اضافه محدودیت توکن خروجی برای این معیار سنجش.',
            outputThroughput: 'توان خروجی',
            outputThroughputHelper: 'توکن‌های خروجی تولید شده در ثانیه. بیشتر به معنای تولید سریع‌تر است.',
            totalThroughput: 'توان کل',
            totalThroughputHelper:
                'توکن‌های ورودی و خروجی پردازش شده در ثانیه. برای اندازه‌گیری ظرفیت کلی استفاده می‌شود.',
            firstTokenLatency: 'تأخیر اولین توکن',
            firstTokenLatencyHelper: 'زمان از ارسال درخواست تا دریافت اولین توکن. کمتر به معنای پاسخ سریع‌تر است.',
            tokenValueHelper: 'یک عدد صحیح مثبت یا مقدار k وارد کنید، مثلاً 512، 1k، 32k',
            numPrompts: 'راهنماها',
            concurrency: 'هم‌روندی',
            requestRate: 'نرخ درخواست',
            requestRateUnlimited: 'نامحدود (حداکثر توان)',
            requestRateCustom: 'QPS سفارشی',
            requestRateCustomPlaceholder: 'درخواست در ثانیه، مثلاً 2.5',
            successfulRequests: 'درخواست‌های موفق',
            requestThroughput: 'توان درخواست',
            mean: 'میانگین',
            median: 'میانه',
            timeout: 'مهلت (ثانیه)',
            image: 'تصویر vLLM',
            ignoreEos: 'نادیده گرفتن EOS',
            extraHeaders: 'هدرهای اضافی',
        },
        gpu: {
            gpu: 'نظارت بر GPU',
            gpuHelper: 'سیستم دستورات NVIDIA-SMI یا XPU-SMI را شناسایی نکرد. لطفاً بررسی و دوباره تلاش کنید!',
            process: 'اطلاعات فرآیند',
            processCount: 'تعداد فرآیندها',
            type: 'نوع',
            typeG: 'گرافیک',
            typeC: 'محاسباتی',
            typeCG: 'محاسباتی+گرافیک',
            processName: 'نام فرآیند',
            shr: 'حافظه مشترک',
            temperatureHelper: 'دمای بالای GPU ممکن است باعث کاهش فرکانس GPU شود',
            gpuUtil: 'استفاده از GPU',
            temperature: 'دما',
            performanceState: 'وضعیت عملکرد',
            powerUsage: 'مصرف برق',
            memoryUsage: 'استفاده از حافظه',
            fanSpeed: 'سرعت فن',
            power: 'برق',
            powerCurrent: 'برق فعلی',
            powerLimit: 'محدودیت برق',
            memory: 'حافظه',
            memoryUsed: 'حافظه استفاده شده',
            memoryTotal: 'حافظه کل',
            percent: 'درصد استفاده',
            base: 'اطلاعات پایه',
            driverVersion: 'نسخه درایور',
            cudaVersion: 'نسخه CUDA',
            processMemoryUsage: 'استفاده از حافظه',
            performanceStateHelper: 'از P0 (حداکثر عملکرد) تا P12 (حداقل عملکرد)',
            busID: 'آدرس گذرگاه',
            persistenceMode: 'حالت ماندگاری',
            enabled: 'فعال',
            disabled: 'غیرفعال',
            persistenceModeHelper:
                'حالت ماندگاری سریع‌تر به وظایف پاسخ می‌دهد، اما مصرف برق در حالت آماده به کار افزایش می‌یابد',
            displayActive: 'راه‌اندازی GPU',
            displayActiveT: 'بله',
            displayActiveF: 'خیر',
            ecc: 'فناوری تصحیح و بررسی خطا',
            computeMode: 'حالت محاسبه',
            default: 'پیش‌فرض',
            exclusiveProcess: 'فرآیند انحصاری',
            exclusiveThread: 'رشته انحصاری',
            prohibited: 'ممنوع',
            defaultHelper: 'پیش‌فرض: فرآیندها می‌توانند به طور همزمان اجرا شوند',
            exclusiveProcessHelper:
                'فرآیند انحصاری: فقط یک متن CUDA می‌تواند از GPU استفاده کند، اما می‌تواند توسط چندین رشته به اشتراک گذاشته شود',
            exclusiveThreadHelper: 'رشته انحصاری: فقط یک رشته در یک متن CUDA می‌تواند از GPU استفاده کند',
            prohibitedHelper: 'ممنوع: اجرای همزمان فرآیند مجاز نیست',
            migModeHelper:
                'برای ایجاد نمونه‌های MIG استفاده می‌شود و ایزوله‌سازی فیزیکی GPU را در لایه کاربر پیاده‌سازی می‌کند.',
            migModeNA: 'پشتیبانی نمی‌شود',
            current: 'نظارت بلادرنگ',
            history: 'سوابق تاریخی',
            notSupport: 'نسخه فعلی یا درایور از نمایش این پارامتر پشتیبانی نمی‌کند.',
        },
        mcp: {
            server: 'سرور MCP',
            baseUrl: 'مسیر دسترسی خارجی',
            baseUrlHelper: 'مثلاً: http://192.168.1.2:8000',
            ssePath: 'مسیر SSE',
            ssePathHelper: 'مثلاً: /sse، توجه کنید که با سایر سرورها تکراری نشود',
            environment: 'متغیرهای محیطی',
            envKey: 'نام متغیر',
            envValue: 'مقدار متغیر',
            externalUrl: 'آدرس اتصال خارجی',
            operatorHelper: 'عملیات {1} روی {0} انجام خواهد شد، ادامه می‌دهید؟',
            domain: 'آدرس دسترسی پیش‌فرض',
            domainHelper: 'مثلاً: 192.168.1.1 یا example.com',
            bindDomain: 'اتصال وب‌سایت',
            commandPlaceHolder: 'در حال حاضر فقط از دستورات راه‌اندازی npx و باینری پشتیبانی می‌شود',
            importMcpJson: 'واردات پیکربندی سرور MCP',
            importMcpJsonError: 'ساختار mcpServers نادرست است',
            bindDomainHelper:
                'پس از اتصال وب‌سایت، آدرس دسترسی همه سرورهای MCP نصب شده را تغییر می‌دهد و دسترسی خارجی به پورت‌ها را می‌بندد',
            outputTransport: 'نوع خروجی',
            streamableHttpPath: 'مسیر جریانی',
            streamableHttpPathHelper: 'مثلاً: /mcp، توجه کنید که با سایر سرورها تکراری نشود',
            npxHelper: 'مناسب برای mcp راه‌اندازی شده با npx یا باینری',
            uvxHelper: 'مناسب برای mcp راه‌اندازی شده با uvx',
            protocolVersion: 'نسخه پروتکل',
            protocolVersionHelper:
                'فقط برای Streamable HTTP بدون حالت استفاده می‌شود تا سرور MCP stdio پایین‌دست را به طور خودکار راه‌اندازی کند',
            gatewayArgsHelper:
                'آرگومان‌ها به دستور راه‌اندازی supergateway افزوده می‌شوند. آرگومان‌های انتقال، پورت، مسیر و پروتکل که توسط 1Panel مدیریت می‌شوند قابل تغییر نیستند',
            testConnection: 'تست اتصال',
            connectionSuccess: 'اتصال با موفقیت برقرار شد',
            connectionFailed: 'اتصال ناموفق بود',
        },
        tensorRT: {
            llm: 'TensorRT LLM',
            modelDir: 'دایرکتوری مدل',
            commandHelper: 'در صورت نیاز به دسترسی خارجی، پورت را در دستور به همان پورت برنامه تنظیم کنید',
            imageAlert: 'به دلیل حجم زیاد تصویر، توصیه می‌شود تصویر را به صورت دستی قبل از نصب به سرور دانلود کنید',
            modelSpeedup: 'فعال‌سازی شتاب مدل',
            modelType: 'نوع مدل',
        },
    },
    container: {
        createByCommand: 'ایجاد با دستور',
        importContainerBackupTip: 'واردات فایل پشتیبان کانتینر، فقط .tar.gz پشتیبانی می‌شود',
        importComposeBackupTip: 'واردات فایل پشتیبان compose، فقط .tar.gz پشتیبانی می‌شود',
        stopContainerBeforeBackup: 'متوقف کردن کانتینر قبل از پشتیبان‌گیری',
        stopComposeBeforeBackup: 'متوقف کردن compose قبل از پشتیبان‌گیری',
        stopBeforeBackupHelper:
            'در صورت فعال بودن، کانتینر یا سرویس compose قبل از پشتیبان‌گیری متوقف شده و پس از اتمام به طور خودکار بازیابی می‌شود تا سازگاری داده تضمین شود.',
        commandInput: 'ورودی دستور',
        commandRule: 'دستور صحیح ایجاد کانتینر docker run را وارد کنید!',
        commandHelper: 'این دستور روی سرور اجرا می‌شود تا کانتینر ایجاد شود. ادامه می‌دهید؟',
        updateHelper1: 'تشخیص داده شد که این کانتینر از فروشگاه برنامه است. لطفاً به دو نکته زیر توجه کنید:',
        updateHelper2: '۱. تغییرات فعلی به برنامه‌های نصب شده در فروشگاه برنامه همگام‌سازی نمی‌شود.',
        updateHelper3: '۲. اگر برنامه را در صفحه نصب شده ویرایش کنید، محتوای ویرایش شده فعلی بی‌اعتبار می‌شود.',
        updateHelper4: 'ویرایش کانتینر نیاز به بازسازی دارد و هر داده غیر پایدار از بین خواهد رفت. ادامه می‌دهید؟',
        containerList: 'لیست کانتینرها',
        operatorHelper: 'اجرای {0} روی کانتینر زیر. ادامه می‌دهید؟',
        operatorAppHelper:
            'اجرای "{0}" روی کانتینر(های) زیر. سرویس‌های در حال اجرا ممکن است تحت تأثیر قرار گیرند. ادامه می‌دهید؟',
        containerDeleteHelper:
            'تشخیص داده شد که کانتینر از فروشگاه برنامه است. حذف کانتینر آن را به طور کامل از 1Panel حذف نمی‌کند. برای حذف کامل، به فروشگاه برنامه -> "نصب شده" یا "محیط اجرا" بروید. ادامه می‌دهید؟',
        start: 'شروع',
        stop: 'متوقف کردن',
        restart: 'راه‌اندازی مجدد',
        kill: 'پایان دادن',
        pause: 'مکث',
        unpause: 'ادامه',
        rename: 'تغییر نام',
        remove: 'حذف',
        removeAll: 'حذف همه',
        containerPrune: 'پاک‌سازی',
        containerPruneHelper1: 'این کار همه کانتینرهایی که در حالت متوقف شده هستند را حذف می‌کند.',
        containerPruneHelper2:
            'اگر کانتینرها از فروشگاه برنامه هستند، پس از انجام پاک‌سازی، باید به "فروشگاه برنامه -> نصب شده" بروید و روی دکمه "بازسازی" کلیک کنید تا دوباره نصب شوند.',
        containerPruneHelper3: 'این عملیات قابل بازگشت نیست. ادامه می‌دهید؟',
        imagePrune: 'پاک‌سازی',
        imagePruneSome: 'پاک‌سازی بدون برچسب',
        imagePruneSomeEmpty: 'هیچ تصویری با برچسب "none" قابل پاک‌سازی نیست.',
        imagePruneSomeHelper: 'تصاویر با برچسب "none" که توسط هیچ کانتینری استفاده نمی‌شوند را پاک‌سازی کنید.',
        imagePruneAll: 'پاک‌سازی استفاده نشده',
        imagePruneAllEmpty: 'هیچ تصویر استفاده نشده‌ای قابل پاک‌سازی نیست.',
        imagePruneAllHelper: 'تصاویری که توسط هیچ کانتینری استفاده نمی‌شوند را پاک‌سازی کنید.',
        networkPrune: 'پاک‌سازی',
        networkPruneHelper: 'این کار همه شبکه‌های استفاده نشده را حذف می‌کند. ادامه می‌دهید؟',
        volumePrune: 'پاک‌سازی',
        volumePruneHelper: 'این کار همه حجم‌های محلی استفاده نشده را حذف می‌کند. ادامه می‌دهید؟',
        cleanSuccess: 'با موفقیت انجام شد، تعداد پاک‌سازی این بار: {0}!',
        cleanSuccessWithSpace:
            'با موفقیت انجام شد. تعداد دیسک‌های پاک‌سازی شده این بار {0} است. فضای دیسک آزاد شده {1}!',
        unExposedPort: 'آدرس نگاشت پورت فعلی 127.0.0.1 است، نمی‌توان دسترسی خارجی را فعال کرد.',
        upTime: 'زمان فعالیت',
        fetch: 'دریافت',
        lines: 'خطوط',
        linesHelper: 'تعداد صحیح خطوط لاگ برای دریافت را وارد کنید!',
        downloadLinesHelper: 'تعداد خطوط لاگ را برای دانلود انتخاب یا وارد کنید.',
        lastDay: 'روز گذشته',
        last4Hour: '۴ ساعت گذشته',
        lastHour: 'ساعت گذشته',
        last10Min: '۱۰ دقیقه گذشته',
        cleanLog: 'پاک‌سازی لاگ',
        cleanLogscope: 'نوع پاک‌سازی',
        downLogHelper1: 'همه لاگ‌های کانتینر {0} دانلود می‌شوند. ادامه می‌دهید؟',
        downLogHelper2: 'آخرین {1} لاگ کانتینر {0} دانلود می‌شود. ادامه می‌دهید؟',
        cleanLogHelper: 'این کار نیاز به راه‌اندازی مجدد کانتینر دارد و قابل بازگشت نیست. ادامه می‌دهید؟',
        newName: 'نام جدید',
        workingDir: 'دایرکتوری کار',
        composeFileMissing: 'فایل Compose شناسایی نشد',
        source: 'استفاده از منابع',
        cpuUsage: 'استفاده از CPU',
        cpuTotal: 'کل CPU',
        core: 'هسته',
        memUsage: 'استفاده از حافظه',
        memTotal: 'محدودیت حافظه',
        memCache: 'کش حافظه',
        loadSize: 'دریافت اندازه کانتینر',
        ip: 'آدرس IP',
        cpuShare: 'سهم CPU',
        cpuShareHelper:
            'موتور کانتینر از مقدار پایه ۱۰۲۴ برای سهم CPU استفاده می‌کند. می‌توانید آن را افزایش دهید تا کانتینر زمان CPU بیشتری دریافت کند.',
        inputIpv4: 'مثال: 192.168.1.1',
        inputIpv6: 'مثال: 2001:0db8:85a3:0000:0000:8a2e:0370:7334',
        diskUsage: 'استفاده از دیسک',
        localVolume: 'حجم ذخیره‌سازی محلی',
        buildCache: 'کش ساخت',
        usage: 'استفاده شده: {0}، قابل آزادسازی: {1}',
        clean: 'آزادسازی',
        imageClean:
            'پاک‌سازی تصاویر همه تصاویر استفاده نشده را حذف می‌کند. این عملیات قابل بازگشت نیست. ادامه می‌دهید؟',
        containerClean:
            'پاک‌سازی کانتینرها همه کانتینرهای متوقف شده (از جمله برنامه‌های متوقف شده از فروشگاه برنامه) را حذف می‌کند. این عملیات قابل بازگشت نیست. ادامه می‌دهید؟',
        sizeRw: 'اندازه لایه',
        sizeRwHelper: 'اندازه لایه قابل نوشتن منحصر به کانتینر',
        sizeRootFs: 'اندازه مجازی',
        sizeRootFsHelper: 'مجموع اندازه همه لایه‌های تصویر که کانتینر به آن وابسته است + لایه کانتینر',
        containerFromAppHelper:
            'تشخیص داده شد که این کانتینر از فروشگاه برنامه است. عملیات برنامه ممکن است باعث بی‌اعتبار شدن ویرایش‌های فعلی شود.',
        containerFromAppHelper1:
            'برای ویرایش نام کانتینر، در لیست برنامه‌های نصب شده روی دکمه [پارامتر] کلیک کنید تا وارد صفحه ویرایش شوید.',
        command: 'دستور',
        console: 'تعامل با کانتینر',
        tty: 'اختصاص یک شبه-TTY (-t)',
        openStdin: 'حتی در صورت عدم اتصال، STDIN را باز نگه دارید (-i)',
        custom: 'سفارشی',
        emptyUser: 'در صورت خالی بودن، به عنوان کاربر پیش‌فرض وارد می‌شوید',
        privileged: 'مجاز',
        privilegedHelper:
            'به کانتینر اجازه می‌دهد تا برخی عملیات مجاز را روی میزبان انجام دهد، که ممکن است خطرات کانتینر را افزایش دهد. با احتیاط استفاده کنید!',
        upgradeHelper: 'نام مخزن/نام تصویر: نسخه تصویر',
        upgradeWarning2:
            'عملیات ارتقاء نیاز به بازسازی کانتینر دارد، هر داده غیر پایدار از بین خواهد رفت. ادامه می‌دهید؟',
        oldImage: 'تصویر فعلی',
        sameImageContainer: 'کانتینرهای با تصویر یکسان',
        sameImageHelper:
            'کانتینرهایی که از یک تصویر استفاده می‌کنند را می‌توان پس از انتخاب به صورت دسته‌ای ارتقاء داد',
        targetImage: 'تصویر هدف',
        imageLoadErr: 'هیچ نام تصویری برای کانتینر شناسایی نشد',
        imageUpdateTagEmpty: 'هیچ برچسب تصویر قابل ارتقاء شناسایی نشد',
        appHelper: 'کانتینر از فروشگاه برنامه است و ارتقاء ممکن است سرویس را از دسترس خارج کند.',
        resource: 'منبع',
        input: 'ورودی دستی',
        forcePull: 'همیشه تصویر را دریافت کنید',
        forcePullHelper: 'این کار تصاویر موجود روی سرور را نادیده گرفته و آخرین تصویر را از مخزن دریافت می‌کند.',
        imageUpdateHelper: 'بررسی برچسب یکسان در مخزن، و در صورت تغییر، تصویر محلی را به‌روزرسانی کنید.',
        server: 'میزبان',
        serverExample: '80, 80-88, ip:80 یا ip:80-88',
        containerExample: '80 یا 80-88',
        exposePort: 'نمایش پورت',
        exposeAll: 'نمایش همه',
        cmdHelper: 'مثال: nginx -g "daemon off;"',
        entrypointHelper: 'مثال: docker-entrypoint.sh',
        autoRemove: 'حذف خودکار',
        cpuQuota: 'تعداد هسته‌های CPU',
        memoryLimit: 'حافظه',
        limitHelper: 'اگر ۰ تنظیم شود، به معنای بدون محدودیت است. حداکثر مقدار {0} است',
        macAddr: 'آدرس MAC',
        mount: 'نصب',
        volumeOption: 'حجم',
        hostOption: 'میزبان',
        serverPath: 'مسیر سرور',
        containerDir: 'مسیر کانتینر',
        volumeHelper: 'اطمینان حاصل کنید که محتوای حجم ذخیره‌سازی صحیح است',
        networkEmptyHelper: 'لطفاً انتخاب شبکه کانتینر را تأیید کنید',
        modeRW: 'RW',
        modeR: 'R',
        sharedLabel: 'حالت انتشار',
        private: 'خصوصی',
        privateHelper: 'تغییرات نصب در کانتینر و میزبان بر یکدیگر تأثیری ندارند',
        rprivate: 'خصوصی بازگشتی',
        rprivateHelper: 'همه نصب‌های کانتینر کاملاً از میزبان ایزوله هستند',
        shared: 'مشترک',
        sharedHelper: 'تغییرات نصب در میزبان و کانتینر برای یکدیگر قابل مشاهده است',
        rshared: 'مشترک بازگشتی',
        rsharedHelper: 'همه تغییرات نصب در میزبان و کانتینر برای یکدیگر قابل مشاهده است',
        slave: 'برده',
        slaveHelper: 'کانتینر می‌تواند تغییرات نصب میزبان را ببیند، اما تغییرات خود بر میزبان تأثیری نمی‌گذارد',
        rslave: 'برده بازگشتی',
        rslaveHelper: 'همه نصب‌های کانتینر می‌توانند تغییرات میزبان را ببینند، اما بر میزبان تأثیری نمی‌گذارند',
        mode: 'حالت',
        env: 'محیط‌ها',
        restartPolicy: 'خط مشی راه‌اندازی مجدد',
        always: 'همیشه',
        unlessStopped: 'مگر اینکه متوقف شده باشد',
        onFailure: 'در صورت شکست (به طور پیش‌فرض پنج بار)',
        no: 'هرگز',
        refreshTime: 'فاصله بازخوانی',
        cache: 'کش',
        image: 'تصویر | تصاویر',
        imagePull: 'دریافت',
        imagePullHelper:
            'پشتیبانی از انتخاب چندین تصویر برای دریافت، پس از وارد کردن هر تصویر Enter را فشار دهید تا ادامه دهید',
        imagePush: 'ارسال',
        imagePushHelper:
            'تشخیص داده شد که این تصویر دارای چندین برچسب است. لطفاً تأیید کنید که نام تصویر مورد استفاده برای ارسال: {0} است',
        imageDelete: 'حذف تصویر',
        repoName: 'مخزن کانتینر',
        imageName: 'نام تصویر',
        pull: 'دریافت',
        path: 'مسیر',
        importImage: 'واردات',
        buildArgs: 'آرگومان‌های ساخت',
        imageBuild: 'ساخت',
        pathSelect: 'مسیر',
        label: 'برچسب',
        imageTag: 'برچسب تصویر',
        imageTagHelper: 'پشتیبانی از تنظیم چندین برچسب تصویر، پس از وارد کردن هر برچسب Enter را فشار دهید',
        push: 'ارسال',
        fileName: 'نام فایل',
        export: 'خروجی',
        exportImage: 'خروجی تصویر',
        size: 'اندازه',
        tag: 'برچسب‌ها',
        tagHelper: 'هر خط یک برچسب. مثلاً،\nkey1=value1\nkey2=value2',
        imageNameHelper: 'نام تصویر و برچسب، مثلاً: nginx:latest',
        cleanBuildCache: 'پاک‌سازی کش ساخت',
        delBuildCacheHelper:
            'این کار همه مصنوعات کش شده که در حین ساخت تولید می‌شوند را حذف می‌کند و قابل بازگشت نیست. ادامه می‌دهید؟',
        urlWarning: 'پیشوند URL نیازی به شامل http:// یا https:// ندارد. لطفاً اصلاح کنید.',
        network: 'شبکه | شبکه‌ها',
        networkHelper: 'این ممکن است باعث شود برخی برنامه‌ها و محیط‌های اجرایی به درستی کار نکنند. ادامه می‌دهید؟',
        networkName: 'نام',
        driver: 'درایور',
        option: 'گزینه',
        attachable: 'قابل اتصال',
        parentNetworkCard: 'کارت شبکه والد',
        subnet: 'زیرشبکه',
        scope: 'محدوده IP',
        gateway: 'دروازه',
        auxAddress: 'حذف IP',
        volume: 'حجم | حجم‌ها',
        volumeDir: 'دایرکتوری حجم',
        nfsEnable: 'فعال‌سازی ذخیره‌سازی NFS',
        nfsAddress: 'آدرس',
        mountpoint: 'نقطه اتصال',
        mountpointNFSHelper: 'مثلاً /nfs، /nfs-share',
        options: 'گزینه‌ها',
        repo: 'مخزن | مخازن',
        httpRepoHelper: 'عملیات روی مخزن از نوع HTTP نیاز به راه‌اندازی مجدد سرویس Docker دارد.',
        httpRepo: 'انتخاب پروتکل HTTP نیاز به راه‌اندازی مجدد سرویس Docker برای افزودن به مخازن ناامن دارد.',
        delInsecure: 'حذف اعتبار',
        delInsecureHelper: 'این کار سرویس Docker را مجدداً راه‌اندازی می‌کند تا از مخازن ناامن حذف شود. ادامه می‌دهید؟',
        downloadUrl: 'سرور',
        imageRepo: 'مخزن تصویر',
        repoHelper: 'آیا شامل مخزن/سازمان/پروژه آینه است؟',
        auth: 'نیاز به احراز هویت',
        mirrorHelper:
            'در صورت وجود چندین آینه، باید با خطوط جدید نمایش داده شوند، مثلاً:\nhttp://xxxxxx.m.daocloud.io \nhttps://xxxxxx.mirror.aliyuncs.com',
        registrieHelper:
            'در صورت وجود چندین مخزن خصوصی، باید با خطوط جدید نمایش داده شوند، مثلاً:\n172.16.10.111:8081 \n172.16.10.112:8081',
        compose: 'Compose | Compose‌ها',
        composeFile: 'فایل Compose',
        fromChangeHelper: 'تغییر منبع محتوای ویرایش شده فعلی را پاک می‌کند. ادامه می‌دهید؟',
        composePathHelper:
            'مسیر ذخیره فایل Compose: {0}؛ اگر نام پروژه‌ای در Docker Compose مشخص شده باشد، در اولویت است؛ در غیر این صورت از {1} استفاده می‌شود.',
        composeNamePriorityHelper:
            'اولویت نام پروژه: نام مشخص‌شده در پیکربندی Docker Compose > پوشه والد فایل > نام واردشده در اینجا.',
        composeHelper: 'ترکیب ایجاد شده از طریق ویرایشگر یا قالب 1Panel در دایرکتوری {0}/docker/compose ذخیره می‌شود.',
        deleteFile: 'حذف فایل',
        deleteComposeHelper:
            'همه فایل‌های مربوط به compose کانتینر، از جمله فایل‌های پیکربندی و فایل‌های پایدار را حذف می‌کند. لطفاً با احتیاط ادامه دهید!',
        deleteCompose: '" این ترکیب را حذف کنید.',
        composeDirectory: 'دایرکتوری Compose',
        template: 'قالب',
        composeTemplate: 'قالب Compose | قالب‌های Compose',
        content: 'محتوا',
        contentEmpty: 'محتوای Compose نمی‌تواند خالی باشد، وارد کنید و دوباره تلاش کنید!',
        containerNumber: 'تعداد کانتینر',
        containerStatus: 'وضعیت کانتینر',
        exited: 'خارج شده',
        running: 'در حال اجرا ( {0} / {1} )',
        composeDetailHelper: 'این compose خارج از 1Panel ایجاد شده است. عملیات شروع و توقف پشتیبانی نمی‌شوند.',
        composeOperatorHelper: 'عملیات {1} روی {0} انجام خواهد شد. ادامه می‌دهید؟',
        composeDownHelper: 'این کار همه کانتینرها و شبکه‌های زیر compose {0} را متوقف و حذف می‌کند. ادامه می‌دهید؟',
        composeEnvHelper2:
            'این ارکستراسیون توسط فروشگاه برنامه 1Panel ایجاد شده است. لطفاً متغیرهای محیطی را در برنامه‌های نصب شده تغییر دهید.',
        composeContentPlaceholder: 'محتوای فایل docker-compose خود را اینجا بنویسید یا بچسبانید',

        setting: 'تنظیمات | تنظیمات',
        goSetting: 'رفتن به تنظیمات',
        restartHelper: 'تغییرات پیکربندی نیاز به راه‌اندازی مجدد سرویس Docker برای اعمال دارند',
        operatorStatusHelper: 'سرویس Docker "{0}" خواهد شد. ادامه می‌دهید؟',
        dockerStatus: 'سرویس Docker',
        daemonJsonPathHelper: 'اطمینان حاصل کنید که مسیر پیکربندی با مسیر مشخص شده در docker.service یکسان است.',
        mirrors: 'آینه‌های مخزن',
        mirrorsHelper:
            'برای عملیات ایمیج ابتدا از URLهای آینه رجیستری استفاده کنید. برای غیرفعال کردن آینه‌ها این بخش را خالی بگذارید.',
        mirrorsHelper2: 'برای جزئیات، به مستندات رسمی مراجعه کنید.',
        registries: 'مخازن ناامن',
        ipv6Helper:
            'هنگام فعال‌سازی IPv6، باید یک شبکه کانتینر IPv6 اضافه کنید. برای مراحل پیکربندی خاص به مستندات رسمی مراجعه کنید.',
        ipv6CidrHelper: 'محدوده آدرس IPv6 برای کانتینرها',
        ipv6TablesHelper: 'پیکربندی خودکار IPv6 Docker برای قوانین iptables.',
        experimentalHelper:
            'فعال‌سازی ip6tables نیاز به روشن بودن این پیکربندی دارد؛ در غیر این صورت ip6tables نادیده گرفته می‌شود',
        cutLog: 'گزینه لاگ',
        cutLogHelper1: 'پیکربندی فعلی فقط بر کانتینرهای تازه ایجاد شده تأثیر می‌گذارد.',
        cutLogHelper2: 'کانتینرهای موجود باید برای اعمال پیکربندی مجدداً ایجاد شوند.',
        cutLogHelper3:
            'لطفاً توجه داشته باشید که بازآفرینی کانتینرها ممکن است منجر به از دست رفتن داده شود. اگر کانتینرهای شما حاوی داده‌های مهم هستند، قبل از انجام عملیات بازسازی حتماً پشتیبان‌گیری کنید.',
        maxSize: 'حداکثر اندازه',
        maxFile: 'حداکثر فایل',
        liveHelper:
            'به‌طور پیش‌فرض، وقتی دیمون Docker خاتمه می‌یابد، کانتینرهای در حال اجرا را خاموش می‌کند. می‌توانید دیمون را پیکربندی کنید تا در صورت در دسترس نبودن دیمون، کانتینرها در حال اجرا باقی بمانند. این قابلیت بازیابی زنده نامیده می‌شود. گزینه بازیابی زنده به کاهش زمان توقف کانتینر به دلیل خرابی دیمون، قطعی برنامه‌ریزی شده یا ارتقاء کمک می‌کند.',
        liveWithSwarmHelper: 'پیکربندی دیمون live-restore با حالت swarm ناسازگار است.',
        iptablesDisable: 'غیرفعال‌سازی iptables',
        iptablesHelper1: 'پیکربندی خودکار قوانین iptables برای Docker.',
        iptablesHelper2: 'غیرفعال‌سازی iptables باعث می‌شود کانتینرها نتوانند با شبکه‌های خارجی ارتباط برقرار کنند.',
        daemonJsonPath: 'مسیر پیکربندی',
        serviceUnavailable: 'سرویس Docker در حال حاضر راه‌اندازی نشده است.',
        startIn: ' برای شروع',
        sockPath: 'سوکت دامنه یونیکس',
        sockPathHelper: 'کانال ارتباطی بین دیمون Docker و کلاینت.',
        sockPathHelper1: 'مسیر پیش‌فرض: /var/run/docker-x.sock',
        sockPathMsg: 'ذخیره مسیر سوکت ممکن است Docker را غیرقابل دسترس کند. ادامه می‌دهید؟',
        sockPathErr: 'مسیر فایل سوکت Docker صحیح را انتخاب یا وارد کنید',
        related: 'مرتبط',
        includeAppstore: 'نمایش کانتینرهای فروشگاه برنامه',
        excludeAppstore: 'مخفی کردن کانتینرهای فروشگاه برنامه',
        cleanDockerDiskZone: 'پاک‌سازی فضای دیسک استفاده شده توسط Docker',
        cleanImagesHelper: '( پاک‌سازی همه تصاویری که توسط هیچ کانتینری استفاده نمی‌شوند )',
        cleanContainersHelper: '( پاک‌سازی همه کانتینرهای متوقف شده )',
        cleanVolumesHelper: '( پاک‌سازی همه حجم‌های محلی استفاده نشده )',
        makeImage: 'ایجاد تصویر',
        newImageName: 'نام تصویر جدید',
        commitMessage: 'پیام commit',
        author: 'نویسنده',
        ifPause: 'مکث کانتینر در حین ایجاد',
        ifMakeImageWithContainer: 'آیا تصویر جدیدی از این کانتینر ایجاد شود؟',
        finishTime: 'آخرین زمان توقف',
        exportHelper: 'تصاویر انتخاب شده را در یک فایل tar صادر کنید.',
    },
    cronjob: {
        importHelper:
            'وظایف زمان‌بندی تکراری به طور خودکار در هنگام واردات رد می‌شوند. وظایف به طور پیش‌فرض روی وضعیت [غیرفعال] تنظیم می‌شوند و در صورت غیرعادی بودن ارتباط داده، به وضعیت [در انتظار ویرایش] تغییر می‌یابند.',
        changeStatus: 'تغییر وضعیت',
        disableMsg: 'این کار از اجرای خودکار وظیفه زمان‌بندی جلوگیری می‌کند. ادامه می‌دهید؟',
        enableMsg: 'این کار به وظیفه زمان‌بندی اجازه می‌دهد به طور خودکار اجرا شود. ادامه می‌دهید؟',
        taskType: 'نوع',
        nextTime: '۵ اجرای بعدی',
        record: 'رکوردها',
        viewRecords: 'مشاهده رکوردها',
        shell: 'اسکریپت شل',
        stop: 'توقف دستی',
        stopHelper: 'این عملیات اجرای فعلی وظیفه را به زور متوقف می‌کند. ادامه می‌دهید؟',
        log: 'پشتیبان‌گیری از لاگ‌ها',
        logHelper: 'پشتیبان‌گیری از لاگ سیستم',
        logHelper1: '۱. لاگ سیستم 1Panel',
        logHelper2: '۲. لاگ ورود SSH سرور',
        logHelper3: '۳. همه لاگ‌های وب‌سایت',
        containerCheckBox: 'در کانتینر (نیازی به وارد کردن دستور کانتینر نیست)',
        containerName: 'نام کانتینر',
        ntp: 'همگام‌سازی زمان',
        ntp_helper: 'می‌توانید سرور NTP را در صفحه تنظیمات سریع جعبه ابزار پیکربندی کنید.',
        app: 'پشتیبان‌گیری از برنامه',
        website: 'پشتیبان‌گیری از وب‌سایت',
        rulesHelper:
            'هنگامی که چندین قانون حذف فشرده‌سازی وجود دارد، باید با خطوط جدید نمایش داده شوند. مثلاً،\n*.log \n*.sql',
        lastRecordTime: 'آخرین زمان اجرا',
        all: 'همه',
        failedRecord: 'رکوردهای ناموفق',
        successRecord: 'رکوردهای موفق',
        database: 'پشتیبان‌گیری از پایگاه داده',
        backupArgs: 'آرگومان‌های پشتیبان‌گیری',
        backupArgsHelper:
            'آرگومان‌های پشتیبان‌گیری که در لیست نیستند را می‌توان به صورت دستی وارد و انتخاب کرد. مثلاً: --no-data را وارد کرده و اولین گزینه را از لیست کشویی انتخاب کنید.',
        singleTransaction:
            'پشتیبان‌گیری از جداول InnoDB با استفاده از یک تراکنش واحد، مناسب برای پشتیبان‌گیری داده‌های حجیم',
        quick: 'خواندن داده‌ها سطر به سطر به جای بارگذاری کل جدول در حافظه، مناسب برای پشتیبان‌گیری داده‌های حجیم و ماشین‌های با حافظه کم',
        skipLockTables: 'پشتیبان‌گیری بدون قفل کردن همه جداول، مناسب برای پایگاه‌های داده با هم‌روندی بالا',
        setGtidPurgedOff: 'اطلاعات GTID صادر نشود؛ مناسب برای بازیابی پایگاه داده در محیط‌های Group Replication',
        missBackupAccount: 'حساب پشتیبان پیدا نشد',
        syncDate: 'زمان همگام‌سازی',
        clean: 'پاک‌سازی کش',
        curl: 'دسترسی به URL',
        taskName: 'نام',
        cronSpec: 'چرخه اجرا',
        cronSpecDoc:
            'چرخه‌های اجرای سفارشی فقط از فرمت [دقیقه ساعت روز ماه هفته] پشتیبانی می‌کنند، مثلاً 0 0 * * *. برای جزئیات به مستندات رسمی مراجعه کنید.',
        cronSpecHelper: 'دوره اجرای صحیح را وارد کنید',
        cleanHelper: 'این عمل همه اجرای وظایف، فایل‌های پشتیبان و فایل‌های لاگ را ثبت می‌کند. ادامه می‌دهید؟',
        backupContent: 'محتوای پشتیبان',
        directory: 'دایرکتوری پشتیبان',
        sourceDir: 'دایرکتوری پشتیبان',
        snapshot: 'تصویر لحظه‌ای سیستم',
        allOptionHelper:
            'وظیفه زمان‌بندی فعلی برای پشتیبان‌گیری از همه [{0}] است. در حال حاضر دانلود مستقیم پشتیبانی نمی‌شود. می‌توانید لیست پشتیبان‌های منوی [{0}] را بررسی کنید.',
        exclusionRules: 'قوانین حذف',
        exclusionRulesHelper:
            'قوانین حذف را انتخاب یا وارد کنید، پس از هر مجموعه Enter را فشار دهید. قوانین حذف برای همه عملیات فشرده‌سازی این پشتیبان اعمال می‌شود',
        default_download_path: 'لینک دانلود پیش‌فرض',
        saveLocal: 'نگهداری پشتیبان‌های محلی (به تعداد کپی‌های ذخیره‌سازی ابری)',
        url: 'آدرس URL',
        urlHelper: 'یک آدرس URL معتبر وارد کنید',
        targetHelper: 'حساب‌های پشتیبان در تنظیمات پنل نگهداری می‌شوند.',
        withImageHelper:
            'پشتیبان‌گیری از تصاویر فروشگاه برنامه، اما این کار اندازه فایل تصویر لحظه‌ای را افزایش می‌دهد.',
        ignoreApp: 'رد کردن برنامه‌ها',
        withImage: 'پشتیبان‌گیری از تصویر برنامه',
        retainCopies: 'نگهداری رکوردها',
        retryTimes: 'تعداد تلاش مجدد',
        timeout: 'مهلت',
        ignoreErr: 'نادیده گرفتن خطاها',
        ignoreErrHelper: 'نادیده گرفتن خطاها در حین پشتیبان‌گیری برای اطمینان از تکمیل همه وظایف پشتیبان',
        retryTimesHelper: '۰ به معنای بدون تلاش مجدد پس از شکست',
        retainCopiesHelper: 'تعداد کپی‌های نگهداری شده برای رکوردهای اجرا و لاگ‌ها',
        retainCopiesHelper1: 'تعداد کپی‌های نگهداری شده برای فایل‌های پشتیبان',
        retainCopiesUnit: ' کپی (مشاهده)',
        cronSpecRule: 'فرمت دوره اجرا در خط {0} نادرست است. لطفاً بررسی و دوباره تلاش کنید!',
        cronSpecRule2: 'فرمت دوره اجرا نادرست است، بررسی و دوباره تلاش کنید!',
        perMonthHelper: 'اجرا در روز {0} هر ماه در ساعت {1}:{2}',
        perWeekHelper: 'اجرا هر هفته در {0} ساعت {1}:{2}',
        perDayHelper: 'اجرا هر روز در ساعت {0}:{1}',
        perHourHelper: 'اجرا هر ساعت در دقیقه {0}',
        perNDayHelper: 'اجرا هر {0} روز در ساعت {1}:{2}',
        perNHourHelper: 'اجرا هر {0} ساعت در {1}',
        perNMinuteHelper: 'اجرا هر {0} دقیقه',
        perNSecondHelper: 'اجرا هر {0} ثانیه',
        perMonth: 'هر ماه',
        perWeek: 'هر هفته',
        perHour: 'هر ساعت',
        perNDay: 'هر N روز',
        perDay: 'هر روز',
        perNHour: 'هر N ساعت',
        perNMinute: 'هر N دقیقه',
        perNSecond: 'هر N ثانیه',
        day: 'روز',
        monday: 'دوشنبه',
        tuesday: 'سه‌شنبه',
        wednesday: 'چهارشنبه',
        thursday: 'پنج‌شنبه',
        friday: 'جمعه',
        saturday: 'شنبه',
        sunday: 'یک‌شنبه',
        shellContent: 'اسکریپت',
        executor: 'اجراکننده',
        errRecord: 'ثبت اشتباه',
        errHandle: 'شکست در اجرای وظیفه زمان‌بندی',
        noRecord: 'وظیفه زمان‌بندی را اجرا کنید تا رکوردها را در اینجا مشاهده کنید.',
        cleanData: 'پاک‌سازی داده',
        cleanRemoteData: 'حذف داده از راه دور',
        cleanDataHelper: 'فایل پشتیبان تولید شده در این وظیفه را حذف کنید.',
        noLogs: 'هنوز خروجی وظیفه‌ای وجود ندارد...',
        errPath: 'خطا در مسیر پشتیبان [{0}]، نمی‌توان دانلود کرد!',
        cutWebsiteLog: 'چرخش لاگ وب‌سایت',
        cutWebsiteLogHelper: 'فایل‌های لاگ چرخش یافته به دایرکتوری پشتیبان 1Panel پشتیبان‌گیری می‌شوند.',
        syncIpGroup: 'همگام‌سازی گروه‌های IP WAF',
        syncIpGroupHelper: 'گروه‌های IP راه دور استفاده‌شده در فهرست‌های سیاه/سفید WAF را همگام‌سازی می‌کند',
        requestExpirationTime: 'زمان انقضای درخواست بارگذاری (ساعت)',
        unitHours: 'واحد: ساعت',
        alertTitle: 'وظیفه زمان‌بندی - {0} «{1}» هشدار شکست وظیفه',
        library: {
            script: 'اسکریپت',
            syncNow: 'همگام‌سازی اکنون',
            turnOnSync: 'فعال‌سازی همگام‌سازی خودکار',
            turnOnSyncHelper:
                'فعال‌سازی همگام‌سازی خودکار، همگام‌سازی را در ساعات اولیه صبح به صورت روزانه انجام می‌دهد',
            turnOffSync: 'غیرفعال‌سازی همگام‌سازی خودکار',
            turnOffSyncHelper:
                'غیرفعال‌سازی همگام‌سازی خودکار ممکن است باعث تأخیر در همگام‌سازی اسکریپت شود، تأیید می‌کنید؟',
            isInteractive: 'تعاملی',
            interactive: 'اسکریپت تعاملی',
            interactiveHelper: 'نیاز به ورودی کاربر در حین اجرا دارد و نمی‌تواند در وظایف زمان‌بندی استفاده شود.',
            library: 'کتابخانه اسکریپت',
            remoteLibrary: 'کتابخانه اسکریپت از راه دور',
            create: 'افزودن اسکریپت',
            edit: 'ویرایش اسکریپت',
            groupHelper:
                'گروه‌های مختلف بر اساس ویژگی‌های اسکریپت تنظیم کنید که امکان عملیات فیلتر سریع‌تر اسکریپت را فراهم می‌کند.',
            handleHelper: 'اجرای اسکریپت {1} روی {0}، ادامه می‌دهید؟',
            noSuchApp: 'سرویس {0} شناسایی نشد. لطفاً ابتدا با استفاده از کتابخانه اسکریپت آن را سریعاً نصب کنید!',
            syncHelper:
                'در حال همگام‌سازی کتابخانه اسکریپت سیستم. این عملیات فقط اسکریپت‌های سیستم را تحت تأثیر قرار می‌دهد. ادامه می‌دهید؟',
        },
        cleanLog: 'پاک‌سازی خودکار لاگ',
        cleanLogscope: 'نگهداری لاگ',
    },
    monitor: {
        globalFilter: 'فیلتر جهانی',
        enableMonitor: 'وضعیت نظارت',
        storeDays: 'روزهای نگهداری',
        defaultNetwork: 'کارت شبکه پیش‌فرض',
        defaultNetworkHelper: 'گزینه کارت شبکه پیش‌فرض که در رابط‌های نظارت و نمای کلی نمایش داده می‌شود',
        defaultIO: 'دیسک پیش‌فرض',
        defaultIOHelper: 'گزینه دیسک پیش‌فرض که در رابط‌های نظارت و نمای کلی نمایش داده می‌شود',
        cleanMonitor: 'پاک‌سازی رکوردهای نظارت',
        cleanHelper: 'این عملیات همه رکوردهای نظارت از جمله GPU را پاک می‌کند. ادامه می‌دهید؟',
        avgLoad: 'میانگین بار',
        loadDetail: 'جزئیات بار',
        resourceUsage: 'استفاده از منابع',
        networkCard: 'رابط شبکه',
        read: 'خواندن',
        write: 'نوشتن',
        readWriteCount: 'عملیات I/O',
        readWriteTime: 'تأخیر I/O',
        today: 'امروز',
        yesterday: 'دیروز',
        lastNDay: 'آخرین {0} روز',
        lastNMonth: 'آخرین {0} ماه',
        lastHalfYear: 'نیم سال گذشته',
        memory: 'حافظه',
        percent: 'درصد',
        cache: 'کش',
        disk: 'دیسک',
        network: 'شبکه',
        up: 'بالا',
        down: 'پایین',
        interval: 'فاصله جمع‌آوری',
        intervalHelper: 'فاصله جمع‌آوری نظارت مناسب را وارد کنید (۱۰ ثانیه - ۱۲ ساعت)',
        runtimeDiagnostics: 'تشخیص زمان اجرا',
        runtimeRSS: 'حافظه پردازش (RSS)',
        runtimeHeapAlloc: 'حافظه Heap',
        runtimeHeapObjects: 'اشیای Heap',
        runtimeGoroutines: 'Goroutineها',
        goroutineSnapshot: 'تصویر لحظه‌ای Goroutine',
        goroutineSummary: '{0} goroutine در {1} پشته فراخوانی گروه‌بندی شده‌اند',
        goroutineTruncated: 'تصویر لحظه‌ای بسیار بزرگ است. فقط بخشی از پشته‌های فراخوانی نمایش داده می‌شود.',
        captureSnapshot: 'تازه‌سازی تصویر',
        count: 'تعداد',
        topFunction: 'تابع بالایی',
        manualCapture: 'ثبت دستی',
        startCapture: 'شروع ثبت',
        capturing: 'در حال ثبت',
        captureSuccess: 'فایل تشخیصی ایجاد شد؛ دانلود آغاز شد',
        profileCPU: 'CPU',
        profileHeap: 'Heap',
        profileGoroutine: 'Goroutine',
        profileMutex: 'Mutex',
        profileBlock: 'انسداد',
        runtimeRSSDesc: 'حافظه فیزیکی اشغال‌شده توسط پردازش، شامل heap زبان Go، پشته رشته‌ها و حافظه بومی.',
        runtimeHeapAllocDesc:
            'حافظه تخصیص‌یافته در heap زبان Go که هنوز آزاد نشده است. رشد مداوم می‌تواند نشانه باقی‌ماندن اشیا باشد.',
        runtimeHeapObjectsDesc: 'تعداد اشیای زنده در heap زبان Go. رشد مداوم می‌تواند نشانه باقی‌ماندن اشیا باشد.',
        runtimeGoroutineDesc: 'تعداد وظایف هم‌زمان سبک فعلی. رشد مداوم می‌تواند نشانه نشت Goroutine باشد.',
        profileCPUDesc: 'پشته‌های فراخوانی CPU را در مدت انتخاب‌شده نمونه‌برداری می‌کند تا توابع پرمصرف مشخص شوند.',
        profileHeapDesc: 'اشیای heap در حال استفاده و پشته تخصیص آن‌ها را برای بررسی رشد حافظه ثبت می‌کند.',
        profileGoroutineDesc: 'وضعیت و پشته فراخوانی هر Goroutine را ذخیره و مسیرهای یکسان را گروه‌بندی می‌کند.',
        profileMutexDesc: 'زمان انتظار ناشی از رقابت mutex را برای یافتن نقاط رقابت قفل اندازه‌گیری می‌کند.',
        profileBlockDesc: 'زمان انسداد روی Channel، Select و ابزارهای همگام‌سازی را اندازه‌گیری می‌کند.',
    },
    terminal: {
        local: 'محلی',
        defaultConn: 'اتصال پیش‌فرض',
        defaultConnHelper:
            'این عملیات پس از باز کردن ترمینال برای 【{0}】 به طور خودکار به ترمینال گره متصل می‌شود. ادامه می‌دهید؟',
        withReset: 'بازنشانی اطلاعات اتصال',
        localConnJump:
            'اطلاعات اتصال پیش‌فرض در [ترمینال - تنظیمات] نگهداری می‌شود. در صورت شکست اتصال، لطفاً در آنجا ویرایش کنید!',
        nodeAdminLocalOnly: 'مدیران گره فقط از ترمینال محلی پشتیبانی می‌کنند.',
        localHelper: 'نام `local` فقط برای شناسایی محلی سیستم استفاده می‌شود',
        connLocalErr: 'امکان احراز هویت خودکار وجود ندارد، اطلاعات ورود به سرور محلی را پر کنید.',
        testConn: 'تست اتصال',
        saveAndConn: 'ذخیره و اتصال',
        connTestOk: 'اطلاعات اتصال در دسترس است',
        connTestFailed: 'اتصال در دسترس نیست، لطفاً اطلاعات اتصال را بررسی کنید.',
        host: 'میزبان | میزبان‌ها',
        createConn: 'اتصال جدید',
        noHost: 'هیچ میزبان',
        groupChange: 'تغییر گروه',
        expand: 'باز کردن همه',
        fold: 'جمع کردن همه',
        batchInput: 'پردازش دسته‌ای',
        quickCommand: 'دستور سریع | دستورات سریع',
        noSuchCommand: 'هیچ داده دستور سریعی در فایل CSV وارد شده یافت نشد، بررسی و دوباره تلاش کنید!',
        quickCommandHelper: 'می‌توانید از دستورات سریع در پایین "ترمینال‌ها -> ترمینال‌ها" استفاده کنید.',
        quickCommandBatchHelper: 'هر خط یک دستور سریع، با فرمت Name---Command، مثلاً: بررسی دیسک---df -h',
        groupDeleteHelper: 'پس از حذف گروه، همه اتصالات موجود در گروه به گروه پیش‌فرض منتقل می‌شوند. ادامه می‌دهید؟',
        command: 'دستور',
        quickCmd: 'دستور سریع',
        addHost: 'افزودن',
        localhost: 'میزبان محلی',
        ip: 'آدرس',
        authMode: 'حالت احراز هویت',
        passwordMode: 'رمز عبور',
        rememberPassword: 'ذخیره اطلاعات احراز هویت',
        keyMode: 'کلید خصوصی',
        key: 'کلید خصوصی',
        keyPassword: 'رمز عبور کلید خصوصی',
        emptyTerminal: 'در حال حاضر هیچ ترمینالی متصل نیست.',
        lineHeight: 'ارتفاع خط',
        letterSpacing: 'فاصله بین حروف',
        fontSize: 'اندازه قلم',
        fontFamily: 'مجموعه قلم',
        fontFamilySupportHelper:
            'قلم‌ها را انتخاب یا وارد کنید. رندرینگ واقعی به قلم‌های نصب شده در سیستم عامل/مرورگر مشتری بستگی دارد. در صورت خالی بودن، از قلم پیش‌فرض استفاده می‌شود.',
        backgroundColor: 'رنگ پس‌زمینه',
        foregroundColor: 'رنگ پیش‌زمینه',
        cursorBlink: 'چشمک زدن مکان‌نما',
        cursorStyle: 'سبک مکان‌نما',
        cursorUnderline: 'زیرخط',
        cursorBlock: 'بلوک',
        cursorBar: 'نوار',
        scrollback: 'بازگشت اسکرول',
        scrollSensitivity: 'حساسیت اسکرول',
        aiAssistant: 'دستیار هوش مصنوعی',
        aiAccountHelper:
            'از حساب مدل انتخاب شده برای تولید و پر کردن دستورات استفاده کنید. برای مدل‌های محلی مانند Ollama و vLLM، از یک حساب مدل سفارشی استفاده کنید.',
        aiPrefix: 'پیشوند محرک',
        aiPrefixHelper:
            '«پیشوند + فاصله» را وارد کرده و Enter را بزنید تا تولید دستور AI فعال شود؛ برای نمونه: {0} کمک کن میزان استفاده از دیسک را بررسی کنم.',
        aiRiskCommands: 'راه‌اندازی دستورات پرخطر',
        aiRiskCommandsHelper:
            'دستورات پرخطر را برای راه‌اندازی پیکربندی کنید، هر خط یک دستور. در صورت تطابق، تولید مسدود شده و به عنوان نظر بازگردانده می‌شود.',
        aiSummary: 'وقتی خطی با پیشوند {0} شروع شود و Enter را بزنید، تولید دستور AI فعال می‌شود.',
        aiPrefixAsciiVisible:
            'فقط کاراکترهای قابل مشاهده ASCII پشتیبانی می‌شوند. فاصله، کاراکترهای CJK و نمادهای تمام‌عرض مجاز نیستند.',
        saveHelper: 'آیا مطمئن هستید که می‌خواهید پیکربندی ترمینال فعلی را ذخیره کنید؟',
    },
    toolbox: {
        common: {
            toolboxHelper: 'برای برخی از مشکلات نصب و استفاده، به',
        },
        swap: {
            swap: 'پارتیشن Swap',
            swapHelper1: 'اندازه swap باید ۱ تا ۲ برابر حافظه فیزیکی باشد، با توجه به نیازهای خاص قابل تنظیم است؛',
            swapHelper2:
                'قبل از ایجاد فایل swap، اطمینان حاصل کنید که دیسک سیستم فضای کافی در دسترس دارد، زیرا اندازه فایل swap فضای دیسک متناظر را اشغال می‌کند؛',
            swapHelper3:
                'Swap می‌تواند به کاهش فشار حافظه کمک کند، اما فقط یک جایگزین است. اتکای بیش از حد به swap ممکن است منجر به کاهش عملکرد سیستم شود. توصیه می‌شود در وهله اول حافظه را افزایش دهید یا استفاده از حافظه برنامه را بهینه کنید؛',
            swapHelper4: 'توصیه می‌شود به طور منظم استفاده از swap را نظارت کنید تا عملکرد عادی سیستم تضمین شود.',
            swapDeleteHelper:
                'این عملیات پارتیشن Swap {0} را حذف می‌کند. به دلایل امنیتی سیستم، فایل مربوطه به طور خودکار حذف نمی‌شود. در صورت نیاز به حذف، لطفاً به صورت دستی اقدام کنید!',
            saveHelper: 'لطفاً ابتدا تنظیمات فعلی را ذخیره کنید!',
            saveSwap: 'ذخیره پیکربندی فعلی اندازه پارتیشن Swap {0} را به {1} تنظیم می‌کند. ادامه می‌دهید؟',
            swapMin: 'حداقل اندازه پارتیشن ۴۰ کیلوبایت است. لطفاً اصلاح و دوباره تلاش کنید!',
            swapMax: 'حداکثر مقدار اندازه پارتیشن {0} است. لطفاً اصلاح و دوباره تلاش کنید!',
            swapOff: 'حداقل اندازه پارتیشن ۴۰ کیلوبایت است. تنظیم آن روی ۰ پارتیشن Swap را غیرفعال می‌کند.',
        },
        device: {
            dnsHelper: 'سرور DNS',
            dnsAlert:
                'توجه! تغییر پیکربندی فایل /etc/resolv.conf پس از راه‌اندازی مجدد سیستم، فایل را به مقادیر پیش‌فرض بازمی‌گرداند.',
            dnsHelper1:
                'هنگامی که چندین ورودی DNS وجود دارد، باید در خطوط جدید نمایش داده شوند. مثلاً\n114.114.114.114\n8.8.8.8',
            hostsHelper: 'تفکیک نام میزبان',
            hosts: 'دامنه',
            hostAlert: 'رکوردهای توضیح‌دار مخفی شده، برای مشاهده یا تنظیم روی دکمه همه پیکربندی کلیک کنید',
            toolbox: 'تنظیمات سریع',
            hostname: 'نام میزبان',
            passwd: 'رمز عبور سیستم',
            passwdHelper: 'کاراکترهای ورودی نمی‌توانند شامل $ و & باشند',
            timeZone: 'منطقه زمانی سیستم',
            localTime: 'زمان سرور',
            timeZoneChangeHelper: 'تغییر منطقه زمانی سیستم نیاز به راه‌اندازی مجدد سرویس دارد. ادامه می‌دهید؟',
            timeZoneHelper:
                'اگر دستور "timedatectl" را نصب نکرده‌اید، ممکن است نتوانید منطقه زمانی را تغییر دهید. زیرا سیستم از آن دستور برای تغییر منطقه زمانی استفاده می‌کند.',
            timeZoneCN: 'پکن',
            timeZoneAM: 'لس آنجلس',
            timeZoneNY: 'نیویورک',
            ntpALi: 'علی بابا',
            ntpGoogle: 'گوگل',
            syncSite: 'سرور NTP',
            hostnameHelper:
                'تغییر نام میزبان به دستور "hostnamectl" وابسته است. اگر دستور نصب نشده باشد، تغییر ممکن است ناموفق باشد.',
            userHelper:
                'نام کاربری به دستور "whoami" برای بازیابی وابسته است. اگر دستور نصب نشده باشد، بازیابی ممکن است ناموفق باشد.',
            passwordHelper:
                'تغییر رمز عبور به دستور "chpasswd" وابسته است. اگر دستور نصب نشده باشد، تغییر ممکن است ناموفق باشد.',
            hostHelper: 'یک مقدار خالی در محتوای ارائه شده وجود دارد. لطفاً بررسی و پس از اصلاح دوباره تلاش کنید!',
            dnsCheck: 'تست در دسترس بودن',
            dnsOK: 'اطلاعات پیکربندی DNS در دسترس است!',
            dnsTestFailed: 'اطلاعات پیکربندی DNS در دسترس نیست.',
            syncSiteHelper: 'همگام‌سازی زمان سیستم با {0}. ادامه می‌دهید؟',
        },
        fail2ban: {
            sshPort: 'شنود پورت SSH',
            sshPortHelper: 'Fail2ban فعلی به پورت اتصال SSH میزبان گوش می‌دهد',
            unActive: 'سرویس Fail2ban در حال حاضر فعال نیست.',
            operation: 'شما عملیات "{0}" را روی سرویس Fail2ban انجام خواهید داد. ادامه می‌دهید؟',
            fail2banChange: 'تغییر پیکربندی Fail2ban',
            ignoreHelper: 'لیست IP‌های موجود در لیست سفید برای مسدودسازی نادیده گرفته می‌شوند. ادامه می‌دهید؟',
            bannedHelper: 'لیست IP‌های موجود در لیست سیاه توسط سرور مسدود خواهند شد. ادامه می‌دهید؟',
            maxRetry: 'حداکثر تلاش مجدد',
            banTime: 'زمان مسدودسازی',
            banTimeHelper: 'زمان مسدودسازی پیش‌فرض ۱۰ دقیقه است، -۱ به معنای مسدودسازی دائمی است',
            banTimeRule: 'زمان مسدودسازی معتبر یا -1 را وارد کنید',
            banAllTime: 'مسدودسازی دائمی',
            findTime: 'دوره کشف',
            banAction: 'اقدام مسدودسازی',
            banActionOption: 'مسدودسازی آدرس‌های IP مشخص شده با استفاده از {0}',
            allPorts: ' (همه پورت‌ها)',
            ignoreIP: 'لیست سفید IP',
            bannedIP: 'لیست سیاه IP',
            logPath: 'مسیر لاگ',
            logPathHelper: 'پیش‌فرض /var/log/secure یا /var/log/auth.log است',
        },
        ftp: {
            ftp: 'حساب FTP | حساب‌های FTP',
            notStart: 'سرویس FTP در حال حاضر اجرا نمی‌شود، ابتدا آن را راه‌اندازی کنید!',
            initHelper: 'هویت کاربر FTP مقداردهی اولیه نشده است. ابتدا روی «راه‌اندازی» در نوار وضعیت بالا کلیک کنید.',
            operation: 'این عمل عملیات "{0}" را روی سرویس FTP انجام می‌دهد. ادامه می‌دهید؟',
            noPasswdMsg: 'نمی‌توان رمز عبور حساب FTP فعلی را دریافت کرد. رمز عبور را تنظیم کرده و دوباره تلاش کنید.',
            enableHelper: 'فعال‌سازی حساب FTP انتخاب شده مجوزهای دسترسی آن را بازیابی می‌کند. ادامه می‌دهید؟',
            disableHelper: 'غیرفعال‌سازی حساب FTP انتخاب شده مجوزهای دسترسی آن را لغو می‌کند. ادامه می‌دهید؟',
            syncHelper: 'همگام‌سازی داده‌های حساب FTP بین سرور و پایگاه داده. ادامه می‌دهید؟',
            dirSystem:
                'این دایرکتوری توسط سیستم رزرو شده است. تغییر ممکن است باعث خرابی سیستم شود، لطفاً اصلاح و دوباره تلاش کنید!',
            dirHelper: 'فعال‌سازی FTP نیاز به تغییر مجوز دایرکتوری دارد - لطفاً با دقت انتخاب کنید',
            dirMsg: 'فعال‌سازی FTP مجوزهای کل دایرکتوری {0} را تغییر می‌دهد. ادامه می‌دهید؟',
        },
        clam: {
            clam: 'اسکن ویروس',
            cron: 'اسکن زمان‌بندی شده',
            cronHelper: 'نسخه تجاری از اسکن زمان‌بندی شده پشتیبانی می‌کند',
            specErr: 'فرمت برنامه اجرایی اشتباه است، لطفاً بررسی و دوباره تلاش کنید!',
            disableMsg: 'توقف اجرای زمان‌بندی شده از اجرای خودکار این وظیفه اسکن جلوگیری می‌کند. ادامه می‌دهید؟',
            enableMsg:
                'فعال‌سازی اجرای زمان‌بندی شده به این وظیفه اسکن اجازه می‌دهد به طور منظم اجرا شود. ادامه می‌دهید؟',
            showFresh: 'نمایش سرویس به‌روزرسانی امضا',
            hideFresh: 'مخفی کردن سرویس به‌روزرسانی امضا',
            clamHelper:
                'حداقل پیکربندی توصیه شده برای ClamAV: ۳ گیگابایت رم یا بیشتر، CPU تک هسته‌ای با ۲.۰ گیگاهرتز یا بالاتر، و حداقل ۵ گیگابایت فضای دیسک موجود.',
            notStart: 'سرویس ClamAV در حال حاضر اجرا نمی‌شود، ابتدا آن را راه‌اندازی کنید!',
            removeRecord: 'حذف فایل‌های گزارش',
            noRecords: 'برای شروع اسکن روی دکمه "اجرا" کلیک کنید تا رکوردها را در اینجا مشاهده کنید.',
            removeInfected: 'حذف فایل‌های ویروس',
            removeInfectedHelper:
                'فایل‌های ویروس شناسایی شده در طول وظیفه را حذف کنید تا امنیت سرور و عملکرد عادی تضمین شود.',
            clamCreate: 'ایجاد قانون اسکن',
            infectedStrategy: 'استراتژی آلوده',
            removeHelper: 'حذف فایل‌های ویروس، با دقت انتخاب کنید!',
            move: 'انتقال',
            moveHelper: 'انتقال فایل‌های ویروس به دایرکتوری مشخص شده',
            copyHelper: 'کپی فایل‌های ویروس به دایرکتوری مشخص شده',
            none: 'هیچ کاری',
            noneHelper: 'هیچ اقدامی روی فایل‌های ویروس انجام ندهید',
            scanDir: 'دایرکتوری اسکن',
            infectedDir: 'دایرکتوری آلوده',
            scanDate: 'تاریخ اسکن',
            scanResult: 'دنباله لاگ اسکن',
            tail: 'خطوط',
            infectedFiles: 'فایل‌های آلوده',
            log: 'جزئیات',
            clamConf: 'سرویس Clam AV',
            clamLog: '@:toolbox.clam.clamConf لاگ‌ها',
            freshClam: 'FreshClam',
            freshClamLog: '@:toolbox.clam.freshClam لاگ‌ها',
            alertHelper: 'نسخه تجاری از اسکن زمان‌بندی شده و هشدارهای پیامکی پشتیبانی می‌کند',
            alertTitle: 'وظیفه اسکن ویروس «{0}» هشدار فایل آلوده شناسایی شد',
        },
    },
    logs: {
        core: 'سرویس پنل',
        agent: 'نظارت گره',
        panelLog: 'لاگ پنل',
        operation: 'لاگ عملیات',
        login: 'لاگ ورود',
        loginIP: 'IP ورود',
        loginAddress: 'آدرس ورود',
        loginAgent: 'مرورگر ورود',
        loginStatus: 'وضعیت',
        system: 'لاگ سیستم',
        hostSystem: 'لاگ‌های میزبان',
        previousPage: 'صفحه قبل',
        nextPage: 'صفحه بعد',
        filter: 'فیلتر پیام‌ها',
        service: 'سرویس',
        priority: 'اولویت',
        priorityEmergency: 'اضطراری',
        priorityAlert: 'هشدار',
        priorityCritical: 'بحرانی',
        priorityError: 'خطا',
        priorityWarning: 'اخطار',
        priorityNotice: 'اعلان',
        priorityInfo: 'اطلاعات',
        priorityDebug: 'اشکال‌زدایی',
        message: 'پیام',
        deleteLogs: 'پاک‌سازی لاگ‌ها',
        resource: 'منبع',
        detail: {
            dashboard: 'نمای کلی',
            ai: 'هوش مصنوعی',
            skills_hub: 'مرکز مهارت',
            ai_proxy: 'پروکسی هوش مصنوعی',
            ai_benchmark: 'معیار سنجش',
            groups: 'گروه',
            hosts: 'میزبان',
            apps: 'برنامه',
            openresty: 'OpenResty',
            websites: 'وب‌سایت',
            monitor: 'نظارت وب‌سایت',
            containers: 'کانتینر',
            files: 'فایل',
            runtimes: 'محیط اجرا',
            process: 'فرآیند',
            toolbox: 'جعبه ابزار',
            backups: 'پشتیبان‌گیری / بازیابی',
            tampers: 'ضد دستکاری',
            xsetting: 'تنظیمات رابط',
            logs: 'لاگ',
            settings: 'تنظیمات',
            cronjobs: 'وظیفه زمان‌بندی',
            databases: 'پایگاه داده',
            waf: 'WAF',
            licenses: 'مجوز',
            nodes: 'گره',
            commands: 'دستورات سریع',
            opsReport: 'گزارش عملیات',
            ops_report: 'گزارش عملیات',
            users: 'مدیریت کاربران',
            roles: 'نقش',
            auth: 'احراز هویت ورود',
            auth_sources: 'تنظیمات احراز هویت',
            alert: 'هشدارها',
            sync: 'همگام‌سازی منابع',
            exchange: 'همگام‌سازی منابع',
            xapp: 'App',
            vms: 'مدیریت ماشین‌های مجازی',
        },
        websiteLog: 'لاگ وب‌سایت',
        runLog: 'لاگ اجرا',
        errLog: 'لاگ خطا',
        task: 'لاگ وظیفه',
        taskName: 'نام وظیفه',
        taskRunning: 'در حال اجرا',
    },
    file: {
        fileDirNum: '{0} دایرکتوری، {1} فایل،',
        currentDir: 'دایرکتوری',
        dir: 'پوشه',
        fileName: 'نام فایل',
        search: 'جستجو',
        aiSearch: 'جستجوی هوشمند',
        aiSearchTitle: 'جستجوی هوشمند',
        aiSearchHint:
            'جستجوی خط به خط در محتوای فایل. از دکمه‌های موجود در ردیف جستجو و گزینه‌های پیشرفته زیر استفاده کنید. در صورت فعال بودن هوش مصنوعی فایل و ذخیره شدن، یک مدل می‌تواند خلاصه‌ای به صورت مارک‌داون نیز برگرداند.',
        aiSearchAccountTitle: 'حساب هوش مصنوعی',
        aiSearchAccountIntro: 'یک حساب عامل برای خلاصه اختیاری انتخاب کنید و پس از تغییرات ذخیره کنید.',
        aiSearchAccountEnable: 'فعال‌سازی جستجوی هوشمند فایل',
        aiSearchSaveAccount: 'ذخیره حساب',
        aiSearchSectionQuery: 'جستجو',
        aiSearchSectionConditions: 'معیارهای جستجو',
        aiSearchResultsSection: 'نتایج',
        aiSearchContentLabel: 'جستجو',
        aiSearchDirLabel: 'دایرکتوری',
        aiSearchExtLabel: 'پسوندها',
        aiSearchModifiedPreset: 'تاریخ تغییر',
        aiSearchSizePresetLabel: 'اندازه فایل',
        aiSearchTimeAny: 'هر زمانی',
        aiSearchTime3h: '۳ ساعت گذشته',
        aiSearchTime1d: '۱ روز گذشته',
        aiSearchTime7d: '۷ روز گذشته',
        aiSearchTime30d: '۳۰ روز گذشته',
        aiSearchTimeCustom: 'بازه سفارشی',
        aiSearchSizeAny: 'هر اندازه',
        aiSearchSize0_10mb: '۰ ~ ۱۰ مگابایت',
        aiSearchSize10_100mb: '۱۰ مگابایت ~ ۱۰۰ مگابایت',
        aiSearchSize100_1gb: '۱۰۰ مگابایت ~ ۱ گیگابایت',
        aiSearchSizeGte1gb: '≥ ۱ گیگابایت',
        aiSearchSizeCustom: 'سفارشی (بایت)',
        aiSearchPlaceholder: 'کلیدواژه یا یک سوال کوتاه، مثلاً فایل‌های مرتبط با لاگ',
        aiSearchContainSub: 'بازگشتی',
        aiSearchMaxItems: 'سقف تعداد مسیرها/فایل‌های گنجانده شده در جستجو (لیست دایرکتوری، ۱–۲۰۰۰)',
        aiSearchRun: 'تحلیل',
        aiSearchTruncated: 'تعداد ورودی‌ها زیاد است؛ فقط بخشی از لیست ارسال شد. نتایج ممکن است ناقص باشند.',
        aiSearchPreFiltered: 'مسیرها با کلیدواژه پیش‌فیلتر شدند تا مجموعه ارسال شده به مدل کاهش یابد.',
        aiSearchMeta: 'موارد تحلیل شده: {0} | مدت زمان {1} | توکن‌ها {2}',
        aiSearchQueryRequired: 'کلیدواژه یا توضیح کوتاه وارد کنید',
        aiSearchContentHits: 'تطابق محتوا',
        aiSearchContentScanMeta:
            'اسکن محتوا: {0} فایل(ها) خوانده شد (بر اساس گزینه‌های جستجوی شما؛ محدودیت‌ها اعمال می‌شوند).',
        aiSearchNoLineHits:
            'هیچ خطی با جستجوی شما در فایل‌های متنی اسکن شده مطابقت نداشت. خلاصه بالا ممکن است همچنان نام مسیرها و فراداده را منعکس کند.',
        aiSearchHitsTruncated: 'برخی فایل‌ها اسکن نشدند یا لیست تطابق‌ها توسط محدودیت‌ها کوتاه شد.',
        aiSearchHitFiles: 'فایل‌های دارای تطابق',
        aiSearchHitLines: 'خطوط تطابق',
        aiSearchOpenFile: 'باز کردن در ویرایشگر',
        aiSearchOpenAtLine: 'باز کردن در این خط',
        aiSearchGrepOnlyHint:
            'هوش مصنوعی فایل خاموش است: فقط جستجوی محتوای قطعی اجرا می‌شود — بدون مدل. برای خلاصه، یک حساب هوش مصنوعی را در بالا فعال کنید. ردیف جستجو و گزینه‌های زیر همچنان اعمال می‌شوند.',
        aiSearchMatchCase: 'حساس به بزرگ/کوچکی',
        aiSearchWholeWord: 'کل کلمه (مرز کلمه ASCII)',
        aiSearchUseRegex: 'عبارت منظم (سینتکس RE2)',
        aiSearchExtensions: 'پسوند فایل‌ها (با کاما جدا شده، مثلاً go,ts,md)',
        aiSearchMinSize: 'حداقل اندازه فایل (بایت، ۰ = بدون محدودیت)',
        aiSearchMaxSize: 'حداکثر اندازه فایل (بایت، ۰ = بدون محدودیت)',
        aiSearchSectionAdvanced: 'گزینه‌های پیشرفته',
        aiSearchLimitMaxItems: 'مجموع فایل‌های جستجو (سقف)',
        aiSearchLimitMaxScan: 'فایل‌های اسکن',
        aiSearchLimitMaxBytes: 'سقف خواندن هر فایل (اسکن محتوا)',
        aiSearchLimitHitsPerFile: 'تطابق در هر فایل',
        aiSearchLimitTotalHits: 'سقف کل تطابق‌ها',
        aiSearchLimitUnitEntries: 'ورودی',
        aiSearchLimitUnitFiles: 'فایل',
        aiSearchLimitUnitBytes: 'بایت',
        aiSearchLimitUnitLines: 'خط',
        aiSearchMaxScanFiles: 'حداکثر فایل‌های اسکن محتوا',
        aiSearchMaxFileBytes:
            'حداکثر بایت خوانده شده از هر فایل در حین اسکن محتوا. برخلاف فیلتر اندازه بالا (که اندازه روی دیسک را برای لیست کردن تعیین می‌کند)، این میزان خوانده شده برای تطابق را محدود می‌کند.',
        aiSearchMaxHitsPerFile: 'حداکثر تطابق در هر فایل',
        aiSearchMaxTotalHits: 'حداکثر کل تطابق‌ها',
        aiSearchGrepMetaContent:
            'اسکن محتوا: {0} ورودی کل لیست شده، {1} فایل متنی خوانده شد (فیلترهای فعلی؛ محدودیت‌های اندازه/تعداد اعمال می‌شوند). مدت زمان {2}',
        aiSearchAdvancedResetDefaults: 'بازنشانی به پیش‌فرض',
        mode: 'مجوزها',
        editPermissions: 'ویرایش مجوزها',
        owner: 'مالک',
        file: 'فایل',
        remoteFile: 'دانلود از راه دور',
        share: 'اشتراک‌گذاری',
        sync: 'همگام‌سازی داده',
        size: 'اندازه',
        updateTime: 'تاریخ تغییر',
        rename: 'تغییر نام',
        role: 'مجوزها',
        info: 'مشاهده ویژگی‌ها',
        linkFile: 'لینک نرم',
        shareList: 'لیست اشتراک‌ها',
        fileTools: 'ابزارهای فایل',
        zip: 'فشرده',
        group: 'گروه',
        path: 'مسیر',
        public: 'سایر',
        setRole: 'تنظیم مجوزها',
        link: 'لینک فایل',
        rRole: 'خواندن',
        wRole: 'نوشتن',
        xRole: 'قابل اجرا',
        name: 'نام',
        compress: 'فشرده‌سازی',
        deCompress: 'باز کردن فشرده',
        compressType: 'فرمت فشرده',
        compressDst: 'مسیر فشرده',
        replace: 'بازنویسی فایل‌های موجود',
        compressSuccess: 'فشرده‌سازی با موفقیت انجام شد',
        deCompressSuccess: 'باز کردن فشرده با موفقیت انجام شد',
        deCompressDst: 'مسیر باز کردن فشرده',
        linkType: 'نوع لینک',
        softLink: 'لینک نرم',
        hardLink: 'لینک سخت',
        linkPath: 'مسیر لینک',
        selectFile: 'انتخاب فایل',
        downloadUrl: 'URL از راه دور',
        downloadStart: 'دانلود شروع شد',
        wgetUrlInvalid: 'لطفاً یک URL دانلود معتبر http(s) وارد کنید',
        moveSuccess: 'انتقال با موفقیت انجام شد',
        copySuccess: 'کپی با موفقیت انجام شد',
        pasteMsg: 'برای چسباندن، در دایرکتوری هدف روی دکمه [چسباندن] در گوشه بالا سمت راست کلیک کنید',
        move: 'انتقال',
        calculate: 'محاسبه',
        remark: 'یادداشت',
        setRemark: 'تنظیم یادداشت',
        remarkPrompt: 'یادداشت را وارد کنید',
        remarkPlaceholder: 'یادداشت',
        remarkToggle: 'یادداشت‌ها',
        remarkToggleTip: 'بارگذاری یادداشت‌های فایل',
        canNotDeCompress: 'نمی‌توان این فایل را باز کرد',
        uploadSuccess: 'بارگذاری با موفقیت انجام شد',
        downloadProcess: 'پیشرفت دانلود',
        downloading: 'در حال دانلود...',
        stopWgetConfirm: 'آیا مطمئن هستید که می‌خواهید این وظیفه دانلود را متوقف کنید؟',
        infoDetail: 'ویژگی‌های فایل',
        root: 'دایرکتوری ریشه',
        list: 'لیست فایل',
        sub: 'بازگشتی',
        downloadSuccess: 'دانلود با موفقیت انجام شد',
        theme: 'پوسته',
        language: 'زبان',
        eol: 'پایان خط',
        history: 'تاریخچه نسخه',
        historyTitle: 'تاریخچه نسخه',
        historyHint:
            'این تاریخچه نسخه قبل از هر تغییر فایل را ثبت می‌کند، به شما امکان می‌دهد تاریخچه تغییرات محتوا را مرور کرده و نسخه‌ها را بازگردانی کنید.',
        historySettingTitle: 'تنظیمات نسخه',
        historyEnable: 'فعال‌سازی ثبت نسخه',
        historyMaxPerPath: 'نگهداری به ازای هر فایل',
        historyDiskQuota: 'سهمیه دیسک جهانی (مگابایت)',
        historyCurrentScope: 'فایل جاری',
        historyAllScope: 'همه فایل‌ها',
        historyDeleteConfirm: 'آیا مطمئن هستید که می‌خواهید رکوردهای تاریخچه انتخاب شده را حذف کنید؟',
        historyNeedFile: 'ابتدا یک فایل باز کنید',
        historyRestore: 'بازگردانی این نسخه',
        historyOperationOnlyHint: 'مورد انتخاب شده یک عملیات فایل است و از بازگردانی نسخه پشتیبانی نمی‌کند.',
        historyCurrentFile: 'فایل جاری',
        historyLatestVersion:
            'سمت چپ محتوای نسخه تاریخچه را نشان می‌دهد، سمت راست محتوای آخرین نسخه فایل انتخاب شده را نشان می‌دهد',
        historyCompareTarget: 'هدف مقایسه',
        historyCompareTargetPath: 'مسیر مقایسه',
        historyRestoreConfirm: 'این نسخه به فایل جاری بازگردانی شود؟',
        historyRestoreDirtyConfirm:
            'فایل جاری تغییرات ذخیره نشده دارد. بازگردانی آنها را بازنویسی می‌کند. ادامه می‌دهید؟',
        historyRestoreSuccess: 'بازگردانی نسخه با موفقیت انجام شد',
        historyDirtyHint: 'ویرایشگر فعلی تغییرات ذخیره نشده دارد. بازگردانی یک نسخه آنها را بازنویسی می‌کند.',
        historyDiffHintCurrent: 'سمت چپ نسخه تاریخچه و سمت راست محتوای فایل جاری را نشان می‌دهد',
        historyDiffHintAll: 'سمت چپ نسخه تاریخچه و سمت راست آخرین نسخه فایل انتخاب شده را نشان می‌دهد',
        copyDir: 'کپی',
        shareFile: 'اشتراک‌گذاری فایل',
        shareExpire: 'زمان انقضا',
        shareExpire1h: '۱ ساعت',
        shareExpire6h: '۶ ساعت',
        shareExpire24h: '۲۴ ساعت',
        shareExpire3d: '۳ روز',
        shareExpire7d: '۷ روز',
        sharePassword: 'رمز عبور',
        sharePasswordPlaceholder: 'در صورت خالی بودن، بدون رمز عبور',
        shareMaxDownloads: 'حداکثر دانلود',
        shareMaxDownloadsHint: '۰ به معنای نامحدود',
        shareGenerate: 'ایجاد لینک',
        shareRegenerate: 'اشتراک‌گذاری مجدد',
        shareClose: 'بستن',
        shareCancel: 'لغو اشتراک‌گذاری',
        shareCancelConfirm: 'آیا مطمئن هستید که می‌خواهید اشتراک‌گذاری این فایل را لغو کنید؟',
        shareDetail: 'جزئیات',
        shareCopyLink: 'کپی لینک',
        shareLinkLabel: 'لینک اشتراک',
        shareQrCode: 'کد QR',
        shareQrDialogTitle: 'کد QR لینک اشتراک',
        shareQrDialogHelper: 'این کد QR را با دستگاه موبایل خود اسکن کنید',
        shareSaveImage: 'ذخیره تصویر',
        shareOpenImage: 'باز کردن تصویر',
        shareExtractFile: 'استخراج فایل',
        shareDownloadingHint: 'فایل شما در حال آماده‌سازی است، دانلود به زودی شروع می‌شود.',
        shareInvalid: 'لینک اشتراک نامعتبر یا منقضی شده است',
        shareDownloadFailed: 'دانلود ناموفق بود، لطفاً بعداً تلاش کنید',
        sharePasswordRequired: 'رمز عبور',
        sharePasswordRequiredInput: 'لطفاً رمز عبور اشتراک را وارد کنید',
        sharePasswordLengthHint: 'طول رمز عبور اشتراک باید ۴-۲۵۶ کاراکتر باشد',
        shareDownloadPasswordTip: 'این لینک با رمز عبور محافظت می‌شود. قبل از دانلود، رمز عبور را وارد کنید.',
        shareRiskAlert:
            'لینک‌های اشتراک‌گذاری ممکن است خطرات امنیتی داشته باشند. فقط با افراد مورد اعتماد به اشتراک بگذارید و از افشای اطلاعات حساس خودداری کنید.',
        sharePasswordSeparate:
            'رمز عبور تنظیم شده است. آن را به طور امن به اشتراک بگذارید. گیرندگان باید &password=... را به URL اضافه کنند یا از کلاینت‌هایی استفاده کنند که از پارامتر password در کوئری پشتیبانی می‌کنند.',
        shareExpiresAt: 'انقضا در',
        paste: 'چسباندن',
        changeOwner: 'تغییر کاربر و گروه کاربری',
        containSub: 'اعمال تغییر مجوز به صورت بازگشتی',
        ownerHelper:
            'کاربر پیش‌فرض محیط اجرای PHP: گروه کاربری ۱۰۰۰:۱۰۰۰ است، طبیعی است که کاربران داخل و خارج از کانتینر ناهماهنگی نشان دهند',
        searchHelper: 'پشتیبانی از کاراکترهای عام مانند *',
        uploadFailed: '[{0}] بارگذاری فایل ناموفق بود',
        fileUploadStart: 'در حال بارگذاری [{0}]...',
        uploadOverallProgress: 'پیشرفت کلی',
        uploadCurrentFileProgress: 'فایل جاری',
        currentSelect: 'انتخاب فعلی: ',
        unsupportedType: 'نوع فایل پشتیبانی نمی‌شود',
        deleteHelper:
            'آیا مطمئن هستید که می‌خواهید فایل‌های زیر را حذف کنید؟ به طور پیش‌فرض، پس از حذف به سطل زباله منتقل می‌شوند',
        fileHelper: 'توجه:\n۱. نتایج جستجو قابل مرتب‌سازی نیستند.\n۲. پوشه‌ها بر اساس اندازه قابل مرتب‌سازی نیستند.',
        forceDeleteHelper: 'حذف دائمی فایل (بدون انتقال به سطل زباله، مستقیماً حذف می‌شود)',
        recycleBin: 'سطل زباله',
        sourcePath: 'مسیر اصلی',
        deleteTime: 'زمان حذف',
        confirmReduce: 'آیا مطمئن هستید که می‌خواهید فایل‌های زیر را بازیابی کنید؟',
        reduceSuccess: 'بازیابی با موفقیت انجام شد',
        reduce: 'بازیابی',
        reduceHelper: 'اگر فایل یا دایرکتوری با همین نام در مسیر اصلی وجود داشته باشد، بازنویسی می‌شود. ادامه می‌دهید؟',
        clearRecycleBin: 'پاک‌سازی',
        clearRecycleBinHelper: 'سطل زباله پاک‌سازی شود؟',
        favorite: 'نشان‌ها',
        removeFavorite: 'حذف از نشان‌ها؟',
        addFavorite: 'افزودن/حذف به نشان‌ها',
        addFavoriteAction: 'افزودن به نشان‌ها',
        removeFavoriteAction: 'حذف از نشان‌ها',
        clearList: 'پاک‌سازی لیست',
        deleteRecycleHelper: 'آیا مطمئن هستید که می‌خواهید فایل‌های زیر را به طور دائمی حذف کنید؟',
        typeErrOrEmpty: 'نوع فایل [{0}] اشتباه است یا پوشه خالی است',
        dropHelper: 'فایل‌های مورد نظر برای بارگذاری را اینجا بکشید و رها کنید',
        fileRecycleBin: 'فعال‌سازی سطل زباله',
        fileRecycleBinMsg: 'سطل زباله {0}',
        wordWrap: 'پیچش خودکار',
        deleteHelper2: 'آیا مطمئن هستید که می‌خواهید فایل انتخاب شده را حذف کنید؟ عملیات حذف قابل بازگشت نیست',
        ignoreCertificate: 'اجازه اتصالات ناامن به سرور',
        ignoreCertificateHelper:
            'اجازه اتصالات ناامن به سرور ممکن است منجر به نشت یا دستکاری داده شود. این گزینه را فقط زمانی استفاده کنید که به منبع دانلود اعتماد دارید.',
        useProxy: 'استفاده از پروکسی برای دانلود',
        useProxyHelper: 'برای دسترسی به URL دانلود از راه دور از سرور پروکسی پیکربندی شده در تنظیمات پنل استفاده کنید',
        uploadOverLimit: 'تعداد فایل‌ها از ۱۰۰۰ بیشتر است! لطفاً فشرده و بارگذاری کنید',
        clashDidNotSupport: 'نام فایل‌ها نباید شامل .1panel_clash باشد',
        clashDeleteAlert: 'پوشه "سطل زباله" قابل حذف نیست',
        clashOpenAlert: 'برای باز کردن دایرکتوری سطل زباله روی دکمه "سطل زباله" کلیک کنید',
        right: 'به جلو',
        back: 'بازگشت',
        top: 'بازگشت به بالا',
        up: 'بازگشت',
        openWithVscode: 'باز کردن با VS Code',
        vscodeHelper:
            'حالت احراز هویت، میزبان، پورت و نام کاربری را تأیید کنید. احراز هویت کلید نیاز به پیکربندی SSH در رایانه‌ای که VS Code روی آن اجرا می‌شود قبل از استفاده دارد.',
        vscodeCopyConfig: 'کپی اسکریپت راه‌اندازی',
        vscodeKeyHelper:
            'نام دانلود کلید خصوصی از مسیر پیکربندی شده گرفته می‌شود. فایل را در آن مسیر ذخیره کنید؛ اسکریپت راه‌اندازی آن را تأیید کرده و مجوزها را اعمال می‌کند.',
        vscodeKeyPath: 'مسیر کلید خصوصی SSH',
        vscodeKeyPathPlaceholder: 'مثلاً: ~/.ssh/id_ed25519',
        vscodeSelectKey: 'کلید خصوصی SSH',
        vscodeScriptPreview: 'اسکریپت راه‌اندازی SSH',
        vscodePasswordHelper:
            'احراز هویت رمز عبور در پیکربندی SSH محلی نوشته نمی‌شود. هنگام اتصال به میزبان از راه دور، رمز عبور را در VS Code وارد کنید.',
        vscodePasswordHint:
            'احراز هویت رمز عبور با میزبان، پورت و نام کاربری پیکربندی شده متصل می‌شود. هیچ اسکریپت راه‌اندازی یا فایل کلید خصوصی مورد نیاز نیست.',
        vscodeScriptPreviewHint:
            'اسکریپت راه‌اندازی را روی رایانه‌ای که VS Code روی آن اجرا می‌شود اجرا کنید تا نام مستعار SSH برای اتصالات از راه دور ثبت شود. پس از تغییر میزبان، پورت، نام کاربری، کلید خصوصی یا مسیر کلید، دوباره اجرا کنید.',
        vscodePasswordModeTitle: 'احراز هویت رمز عبور',
        vscodePasswordModeHint:
            'احراز هویت رمز عبور با میزبان، پورت و نام کاربری پیکربندی شده متصل می‌شود. هیچ اسکریپت راه‌اندازی یا فایل کلید خصوصی مورد نیاز نیست.',
        vscodePasswordStep1: 'میزبان، پورت و نام کاربری را تأیید کنید.',
        vscodePasswordStep2: 'VS Code را باز کنید و هنگام درخواست، رمز عبور را وارد کنید.',
        vscodePasswordStep3: 'در این حالت نیازی به دانلود کلید خصوصی نیست.',
        saveContentAndClose: 'فایل تغییر کرده است، آیا می‌خواهید ذخیره و ببندید؟',
        saveAndOpenNewFile: 'فایل تغییر کرده است، آیا می‌خواهید ذخیره و فایل جدید را باز کنید؟',
        noEdit: 'فایل تغییری نکرده است، نیازی به این کار نیست!',
        noNameFolder: 'پوشه بدون نام',
        noNameFile: 'فایل بدون نام',
        minimap: 'نقشه کوچک کد',
        fileCanNotRead: 'فایل قابل خواندن نیست',
        previewTruncated: 'فایل خیلی بزرگ است، فقط بخش آخر نشان داده می‌شود',
        previewEmpty: 'فایل خالی است یا یک فایل متنی نیست',
        previewLargeFile: 'پیش‌نمایش',
        panelInstallDir: 'دایرکتوری نصب 1Panel قابل حذف نیست',
        wgetTask: 'وظیفه دانلود',
        existFileTitle: 'تذکر فایل همنام',
        existFileHelper: 'فایل بارگذاری شده شامل یک فایل همنام است، آیا می‌خواهید بازنویسی کنید؟',
        existFileSize: 'اندازه فایل (جدید -> قدیمی)',
        existFileDirHelper: 'فایل/پوشه انتخاب شده دارای نام تکراری است. لطفاً با احتیاط ادامه دهید! \n',
        coverDirHelper: 'پوشه‌های انتخاب شده برای جایگزینی به مسیر هدف کپی می‌شوند!',
        noSuchFile: 'فایل یا دایرکتوری پیدا نشد. لطفاً بررسی و دوباره تلاش کنید.',
        setting: 'تنظیمات',
        showHide: 'نمایش فایل‌های مخفی',
        noShowHide: 'نمایش فایل‌های مخفی نده',
        cancelUpload: 'لغو بارگذاری',
        cancelUploadHelper: 'آیا بارگذاری لغو شود؟ پس از لغو، لیست بارگذاری پاک می‌شود.',
        keepOneTab: 'حداقل یک زبانه نگه دارید',
        notCanTab: 'نمی‌توان زبانه بیشتری اضافه کرد',
        convert: 'تبدیل فرمت',
        converting: 'تبدیل به',
        fileCanNotConvert: 'این فایل از تبدیل فرمت پشتیبانی نمی‌کند',
        formatType: 'نوع فرمت',
        sourceFormat: 'فرمت منبع',
        sourceFile: 'فایل منبع',
        saveDir: 'دایرکتوری ذخیره',
        deleteSourceFile: 'حذف فایل منبع',
        convertHelper: 'تبدیل فایل‌های انتخاب شده به فرمت دیگر',
        convertHelper1: 'فایل‌های مورد نظر برای تبدیل را انتخاب کنید',
        execConvert: 'شروع تبدیل. می‌توانید لاگ‌های تبدیل را در وظایف مشاهده کنید',
        convertLogs: 'لاگ‌های تبدیل',
        formatConvert: 'تبدیل فرمت',
    },
    ssh: {
        autoStart: 'شروع خودکار',
        enable: 'فعال‌سازی شروع خودکار',
        disable: 'غیرفعال‌سازی شروع خودکار',
        sshAlert:
            'داده‌های لیست بر اساس تاریخ ورود مرتب می‌شوند. تغییر منطقه زمانی یا انجام سایر عملیات ممکن است باعث انحراف در تاریخ لاگ‌های ورود شود.',
        sshAlert2:
            'می‌توانید از "Fail2ban" در "جعبه ابزار" برای مسدود کردن IP‌هایی که تلاش حمله brute-force می‌کنند استفاده کنید و این کار امنیت میزبان را افزایش می‌دهد.',
        sshOperate: 'عملیات "{0}" روی سرویس SSH انجام خواهد شد. ادامه می‌دهید؟',
        sshChange: 'تنظیمات SSH',
        sshChangeHelper: 'این عمل "{0}" را به "{1}" تغییر داد. ادامه می‌دهید؟',
        sshFileChangeHelper:
            'تغییر فایل پیکربندی ممکن است باعث در دسترس نبودن سرویس شود. در انجام این عملیات احتیاط کنید. ادامه می‌دهید؟',
        port: 'پورت',
        portHelper: 'پورتی را که سرویس SSH به آن گوش می‌دهد مشخص کنید.',
        listenAddress: 'آدرس شنود',
        allV4V6: '0.0.0.0:{0}(IPv4) و :::{0}(IPv6)',
        listenHelper:
            'خالی گذاشتن هر دو تنظیمات IPv4 و IPv6 به معنای شنود روی "0.0.0.0:{0}(IPv4)" و ":::{0}(IPv6)" است.',
        addressHelper: 'آدرسی را که سرویس SSH به آن گوش می‌دهد مشخص کنید.',
        permitRootLogin: 'مجوز ریشه',
        rootSettingHelper: 'روش ورود پیش‌فرض برای کاربر ریشه "اجازه ورود SSH" است.',
        rootHelper1: 'اجازه ورود SSH',
        rootHelper2: 'غیرفعال‌سازی ورود SSH',
        rootHelper3: 'فقط ورود با کلید مجاز است',
        rootHelper4: 'فقط دستورات از پیش تعیین شده قابل اجرا هستند. هیچ عملیات دیگری قابل انجام نیست.',
        passwordAuthentication: 'احراز هویت رمز عبور',
        pwdAuthHelper: 'آیا احراز هویت رمز عبور فعال باشد. این پارامتر به طور پیش‌فرض فعال است.',
        pubkeyAuthentication: 'احراز هویت کلید',
        privateKey: 'کلید خصوصی',
        publicKey: 'کلید عمومی',
        password: 'رمز عبور',
        createMode: 'روش ایجاد',
        generate: 'تولید خودکار',
        unSyncPass: 'رمز عبور کلید قابل همگام‌سازی نیست',
        syncHelper: 'عملیات همگام‌سازی کلیدهای نامعتبر را پاک کرده و کلیدهای کامل جدید را همگام می‌کند. ادامه می‌دهید؟',
        input: 'ورودی دستی',
        import: 'بارگذاری فایل',
        authKeys: 'کلیدهای مجوز',
        authKeysHelper: 'اطلاعات کلید عمومی فعلی ذخیره شود؟',
        pubkey: 'اطلاعات کلید',
        pubKeyHelper: 'اطلاعات کلید فعلی فقط برای کاربر {0} معتبر است',
        encryptionMode: 'حالت رمزگذاری',
        passwordHelper: 'می‌تواند شامل ۶ تا ۱۰ رقم و حروف بزرگ/کوچک انگلیسی باشد',
        reGenerate: 'بازتولید کلید',
        keyAuthHelper: 'آیا احراز هویت کلید فعال باشد.',
        useDNS: 'استفاده از DNS',
        dnsHelper: 'کنترل اینکه آیا عملکرد تفکیک DNS روی سرور SSH فعال باشد تا هویت اتصال تأیید شود.',
        confFileOrderHelper:
            'برای جابجایی بین فایل‌های پیکربندی از لیست کشویی استفاده کنید و مستقیماً ویرایش/ذخیره کنید؛ تنظیمات بر اساس ترتیب بارگذاری اعمال می‌شوند و مقادیر بارگذاری شده قبلی اولویت دارند.',
        confFileOrderLabel: '{0} (ترتیب بارگذاری #{1})',
        analysis: 'اطلاعات آماری',
        denyHelper: "انجام عملیات 'رد' روی آدرس‌های زیر. پس از تنظیم، IP از دسترسی به سرور منع می‌شود. ادامه می‌دهید؟",
        acceptHelper:
            "انجام عملیات 'پذیرش' روی آدرس‌های زیر. پس از تنظیم، IP دسترسی عادی را بازمی‌یابد. ادامه می‌دهید؟",
        noAddrWarning: 'در حال حاضر هیچ آدرس [{0}] انتخاب نشده است. لطفاً بررسی و دوباره تلاش کنید!',
        loginLogs: 'لاگ‌های SSH',
        loginMode: 'حالت',
        authenticating: 'کلید',
        publickey: 'کلید',
        belong: 'متعلق به',
        local: 'محلی',
        session: 'جلسه | جلسات',
        loginTime: 'زمان ورود',
        loginIP: 'IP ورود',
        stopSSHWarn: 'آیا این اتصال SSH قطع شود؟',
        remote: 'SSH از راه دور',
    },
    setting: {
        panel: 'پنل',
        user: 'کاربر پنل',
        userChange: 'تغییر کاربر پنل',
        userChangeHelper: 'تغییر کاربر پنل باعث خروج شما می‌شود. ادامه می‌دهید؟',
        passwd: 'رمز عبور پنل',
        emailHelper: 'برای بازیابی رمز عبور',
        watermark: 'تنظیمات واترمارک',
        watermarkContent: 'محتوای واترمارک',
        contentHelper:
            '{0} نشان‌دهنده نام گره، {1} نشان‌دهنده آدرس گره است. می‌توانید از متغیرها استفاده کنید یا نام سفارشی پر کنید.',
        watermarkColor: 'رنگ واترمارک',
        watermarkFont: 'اندازه قلم واترمارک',
        watermarkHeight: 'ارتفاع واترمارک',
        watermarkWidth: 'عرض واترمارک',
        watermarkRotate: 'زاویه چرخش',
        watermarkGap: 'فاصله',
        watermarkCloseHelper: 'آیا مطمئن هستید که می‌خواهید تنظیمات واترمارک سیستم را غیرفعال کنید؟',
        watermarkOpenHelper: 'آیا مطمئن هستید که می‌خواهید تنظیمات واترمارک سیستم فعلی را ذخیره کنید؟',
        title: 'نام مستعار پنل',
        panelPort: 'پورت پنل',
        titleHelper: 'پشتیبانی از طول ۳ تا ۳۰ کاراکتر، شامل حروف انگلیسی، چینی، اعداد، فاصله و کاراکترهای ویژه رایج',
        portHelper:
            'محدوده پورت پیشنهادی ۸۸۸۸ تا ۶۵۵۳۵ است. توجه: اگر سرور دارای گروه امنیتی است، از قبل پورت جدید را در گروه امنیتی مجاز کنید',
        portChange: 'تغییر پورت',
        portChangeHelper: 'پورت سرویس را تغییر داده و سرویس را مجدداً راه‌اندازی کنید. ادامه می‌دهید؟',
        theme: 'پوسته',
        menuTabs: 'زبانه‌های منو',
        menuAccordion: 'باز شدن چند منو',
        menuAccordionHelper: 'پس از فعال‌سازی، چند گروه منوی نوار کناری می‌توانند هم‌زمان باز بمانند.',
        componentSize: 'اندازه کامپوننت',
        dark: 'تاریک',
        darkGold: 'تاریک طلایی',
        light: 'روشن',
        auto: 'پیروی از سیستم',
        language: 'زبان',
        runtimeEnv: 'محیط اجرا',
        docSource: 'منبع مستندات',
        withByRegion: 'مطابقت با تنظیمات منطقه (پیش‌فرض)',
        withByLang: 'مطابقت با زبان سیستم',
        region: 'منطقه',
        cn: 'سرزمین اصلی چین',
        intl: 'جهانی',
        regionHelper: 'تغییر منطقه منابع زیر را تغییر می‌دهد:',
        regionHelper1: 'بسته‌های نصب سیستم',
        regionHelper2: 'فروشگاه برنامه و کتابخانه اسکریپت',
        regionHelper3: 'راهنمای کاربر و مستندات مرتبط',
        regionHelper4: 'این ممکن است بر دانلودها و دسترسی‌های آینده تأثیر بگذارد. با احتیاط ادامه دهید.',
        regionTip: 'منطقه بر منبع به‌روزرسانی سیستم و آدرس دانلود بسته تأثیر می‌گذارد.',
        docSourceTip:
            'منبع مستندات زبانی را که برای لینک‌های مستندات و یادداشت‌های انتشار استفاده می‌شود تعیین می‌کند.',
        languageHelper: 'به طور پیش‌فرض از زبان مرورگر پیروی می‌کند. این پارامتر فقط در مرورگر فعلی اعمال می‌شود',
        sessionTimeout: 'مهلت جلسه',
        sessionTimeoutError: 'حداقل مهلت جلسه ۳۰۰ ثانیه است',
        sessionTimeoutHelper: 'در صورت عدم فعالیت برای بیش از {0} ثانیه، پنل به طور خودکار خارج می‌شود.',
        systemIP: 'آدرس سیستم',
        systemIPHelper:
            'این آدرس برای تغییر مسیر برنامه، دسترسی کانتینر و سایر عملکردها استفاده می‌شود. هر گره می‌تواند آدرس متفاوتی داشته باشد.',
        proxy: 'پروکسی سرور',
        proxyHelper: 'پس از تنظیم سرور پروکسی در سناریوهای زیر مؤثر خواهد بود:',
        proxyHelper1: 'دانلود بسته‌های نصب و همگام‌سازی فروشگاه برنامه (فقط نسخه تجاری)',
        proxyHelper2: 'به‌روزرسانی سیستم و بررسی به‌روزرسانی (فقط نسخه تجاری)',
        proxyHelper3: 'تأیید و همگام‌سازی مجوز سیستم',
        proxyHelper4: 'درخواست‌های شبکه مانند دریافت تصاویر Docker از سرور پروکسی عبور می‌کنند (فقط نسخه تجاری)',
        proxyHelper5: 'دانلود و همگام‌سازی یکپارچه کتابخانه‌های اسکریپت سیستم (نسخه تجاری)',
        proxyHelper6: 'درخواست‌های گواهی (نسخه تجاری)',
        proxyType: 'نوع پروکسی',
        proxyUrl: 'آدرس پروکسی',
        proxyPort: 'پورت پروکسی',
        proxyPasswdKeep: 'ذخیره رمز عبور',
        proxyDocker: 'پروکسی Docker',
        proxyDockerHelper:
            'همگام‌سازی پیکربندی سرور پروکسی با Docker، پشتیبانی از دریافت تصاویر در سرورهای آفلاین و سایر عملیات',
        syncToNode: 'همگام‌سازی با گره',
        syncToNodeHelper: 'همگام‌سازی تنظیمات با سایر گره‌ها',
        nodes: 'گره',
        selectNode: 'انتخاب گره',
        selectNodeError: 'یک گره انتخاب کنید',
        apiInterface: 'فعال‌سازی API',
        apiInterfaceClose: 'پس از بسته شدن، دسترسی به رابط‌های API امکان‌پذیر نیست. ادامه می‌دهید؟',
        apiInterfaceHelper: 'اجازه دسترسی برنامه‌های شخص ثالث به API را بدهید.',
        apiInterfaceAlert1: 'در محیط‌های تولیدی فعال نکنید زیرا ممکن است خطرات امنیتی سرور را افزایش دهد.',
        apiInterfaceAlert2:
            'از برنامه‌های شخص ثالث برای فراخوانی API استفاده نکنید تا از تهدیدات امنیتی بالقوه جلوگیری شود.',
        apiInterfaceAlert3: 'مستندات API',
        apiInterfaceAlert4: 'راهنمای استفاده',
        apiKey: 'کلید API',
        apiKeyHelper: 'کلید API برای دسترسی برنامه‌های شخص ثالث به API استفاده می‌شود.',
        ipWhiteList: 'لیست سفید IP',
        ipWhiteListEgs: 'هر خط یک IP. مثلاً،\n172.161.10.111\n172.161.10.0/24',
        ipWhiteListHelper:
            'IP‌های موجود در لیست سفید می‌توانند به API دسترسی داشته باشند، 0.0.0.0/0 (همه IPv4)، ::/0 (همه IPv6)',
        apiTrustedProxies: 'پروکسی‌های قابل اعتماد API',
        apiTrustedProxiesEgs: 'در هر خط یک IP یا CIDR سرور پروکسی. مثلاً،\n172.16.10.111\n172.16.10.0/24',
        apiTrustedProxiesHelper:
            'هنگام استفاده از پروکسی معکوس، IP یا شبکه سرور پروکسی را وارد کنید تا IP کلاینت به‌درستی دریافت شود. در صورت عدم استفاده، این بخش را خالی بگذارید. 0.0.0.0/0 و ::/0 پشتیبانی نمی‌شوند.',
        apiKeyValidityTime: 'مدت اعتبار کلید رابط',
        apiKeyValidityTimeEgs: 'مدت اعتبار کلید رابط (به دقیقه)',
        apiKeyValidityTimeHelper:
            'مهر زمانی رابط در صورتی معتبر است که اختلاف آن با مهر زمانی فعلی (به دقیقه) در محدوده مجاز باشد. مقدار ۰ تأیید را غیرفعال می‌کند.',
        apiKeyReset: 'بازنشانی کلید رابط',
        apiKeyResetHelper: 'سرویس کلید مرتبط بی‌اعتبار می‌شود. لطفاً کلید جدیدی به سرویس اضافه کنید',
        confDockerProxy: 'پیکربندی پروکسی Docker',
        restartNowHelper: 'پیکربندی پروکسی Docker نیاز به راه‌اندازی مجدد سرویس Docker دارد.',
        restartNow: 'راه‌اندازی مجدد فوری',
        restartLater: 'بعداً به صورت دستی راه‌اندازی مجدد کنید',
        systemIPWarning: 'آدرس سرور در حال حاضر تنظیم نشده است. ابتدا در پنل کنترل تنظیم کنید.',
        systemIPWarning1: 'آدرس سرور فعلی روی {0} تنظیم شده است و تغییر مسیر سریع امکان‌پذیر نیست!',
        syncTime: 'زمان سرور',
        timeZone: 'منطقه زمانی',
        timeZoneChangeHelper: 'تغییر منطقه زمانی نیاز به راه‌اندازی مجدد سرویس دارد. ادامه می‌دهید؟',
        timeZoneHelper:
            'تغییر منطقه زمانی به سرویس timedatectl سیستم وابسته است. پس از راه‌اندازی مجدد سرویس 1Panel اعمال می‌شود.',
        timeZoneCN: 'پکن',
        timeZoneAM: 'لس آنجلس',
        timeZoneNY: 'نیویورک',
        ntpALi: 'علی بابا',
        ntpGoogle: 'گوگل',
        syncSite: 'سرور NTP',
        syncSiteHelper: 'این عملیات از {0} به عنوان منبع همگام‌سازی زمان سیستم استفاده می‌کند. ادامه می‌دهید؟',
        changePassword: 'تغییر رمز عبور',
        oldPassword: 'رمز عبور قبلی',
        newPassword: 'رمز عبور جدید',
        retryPassword: 'تکرار رمز عبور',
        passwordEmptyTip: 'خالی بگذارید تا رمز عبور فعلی بدون تغییر بماند',
        noSpace: 'اطلاعات ورودی نمی‌تواند شامل فاصله باشد',
        duplicatePassword: 'رمز عبور جدید نمی‌تواند با رمز عبور قبلی یکسان باشد، دوباره وارد کنید!',
        diskClean: 'پاک‌سازی کش',
        developerMode: 'برنامه پیش‌نمایش',
        developerModeHelper:
            'شما می‌توانید ویژگی‌ها و رفع‌های جدید را قبل از انتشار گسترده تجربه کنید و بازخورد اولیه دهید.',
        thirdParty: 'حساب‌های شخص ثالث',
        scope: 'حوزه',
        public: 'عمومی',
        publicHelper:
            'حساب‌های پشتیبان از نوع عمومی به هر گره زیرین همگام‌سازی می‌شوند و گره‌های زیرین می‌توانند از آنها استفاده کنند',
        private: 'خصوصی',
        privateHelper: 'حساب‌های پشتیبان از نوع خصوصی فقط روی گره فعلی ایجاد می‌شوند و فقط برای استفاده گره فعلی هستند',
        noTypeForCreate: 'در حال حاضر هیچ نوع پشتیبان ایجاد نشده است',
        LOCAL: 'دیسک سرور',
        OSS: 'علی OSS',
        S3: 'آمازون S3',
        mode: 'حالت',
        MINIO: 'MinIO',
        SFTP: 'SFTP',
        WebDAV: 'WebDAV',
        WebDAVAlist: 'اتصال WebDAV به Alist را می‌توانید در مستندات رسمی مشاهده کنید',
        UPYUN: 'UPYUN',
        ALIYUN: 'درایو علی‌یون',
        ALIYUNHelper:
            'حداکثر محدودیت فعلی برای دانلودهای غیر کلاینت در درایو علی‌یون ۱۰۰ مگابایت است. فراتر از این محدودیت نیاز به دانلود از طریق کلاینت دارد.',
        ALIYUNRecover:
            'حداکثر محدودیت فعلی برای دانلودهای غیر کلاینت در درایو علی‌یون ۱۰۰ مگابایت است. فراتر از این محدودیت نیاز به دانلود از طریق کلاینت به دستگاه محلی و سپس همگام‌سازی تصویر لحظه‌ای برای بازیابی دارد.',
        GoogleDrive: 'گوگل درایو',
        analysis: 'تحلیل',
        analysisHelper:
            'برای تجزیه خودکار بخش‌های مورد نیاز، کل محتوای توکن را بچسبانید. برای عملیات خاص، به مستندات رسمی مراجعه کنید.',
        serviceName: 'نام سرویس',
        operator: 'اپراتور',
        OneDrive: 'مایکروسافت OneDrive',
        isCN: 'اینترنت قرن',
        isNotCN: 'نسخه بین‌المللی',
        client_id: 'شناسه مشتری',
        client_secret: 'راز مشتری',
        redirect_uri: 'URL تغییر مسیر',
        onedrive_helper: 'پیکربندی سفارشی را می‌توانید در مستندات رسمی مشاهده کنید',
        clickToRefresh: 'برای بازخوانی کلیک کنید',
        refreshTime: 'زمان بازخوانی توکن',
        refreshStatus: 'وضعیت بازخوانی توکن',
        backupDir: 'دایرکتوری پشتیبان',
        codeWarning: 'فرمت کد مجوز فعلی اشتباه است، دوباره تأیید کنید!',
        code: 'کد مجوز',
        codeHelper:
            'روی دکمه "دریافت" کلیک کنید، سپس وارد {0} شوید و محتوای بعد از "code" را در لینک تغییر مسیر کپی کنید. آن را در این کادر ورودی بچسبانید. برای دستورالعمل‌های خاص به مستندات رسمی مراجعه کنید.',
        googleHelper:
            'لطفاً ابتدا یک برنامه گوگل ایجاد کرده و اطلاعات مشتری را دریافت کنید، فرم را پر کرده و روی دکمه دریافت کلیک کنید. برای عملیات خاص به مستندات رسمی مراجعه کنید.',
        loadCode: 'دریافت',
        COS: 'تنسنت COS',
        ap_beijing_1: 'منطقه پکن ۱',
        ap_beijing: 'پکن',
        ap_nanjing: 'نانجینگ',
        ap_shanghai: 'شانگهای',
        ap_guangzhou: 'گوانگژو',
        ap_chengdu: 'چنگدو',
        ap_chongqing: 'چونگ‌چینگ',
        ap_shenzhen_fsi: 'مالی شنژن',
        ap_shanghai_fsi: 'مالی شانگهای',
        ap_beijing_fsi: 'مالی پکن',
        ap_hongkong: 'هنگ کنگ، چین',
        ap_singapore: 'سنگاپور',
        ap_mumbai: 'بمبئی',
        ap_jakarta: 'جاکارتا',
        ap_seoul: 'سئول',
        ap_bangkok: 'بانکوک',
        ap_tokyo: 'توکیو',
        na_siliconvalley: 'سیلیکون ولی (غرب آمریکا)',
        na_ashburn: 'اشبرن (شرق آمریکا)',
        na_toronto: 'تورنتو',
        sa_saopaulo: 'سائوپائولو',
        eu_frankfurt: 'فرانکفورت',
        KODO: 'Qiniu Kodo',
        scType: ' نوع ذخیره‌سازی',
        typeStandard: 'استاندارد',
        typeStandard_IA: 'Standard_IA',
        typeArchive: 'بایگانی',
        typeDeep_Archive: 'Deep_Archive',
        scLighthouse: 'پیش‌فرض، ذخیره‌سازی اشیاء سبک فقط از این نوع ذخیره‌سازی پشتیبانی می‌کند',
        scStandard:
            'ذخیره‌سازی استاندارد، مناسب برای سناریوهای تجاری با حجم زیادی از فایل‌های داغ پرتکرار و تعاملات مکرر داده.',
        scStandard_IA:
            'ذخیره‌سازی با دسترسی کم‌تکرار، مناسب برای سناریوهای تجاری با فرکانس دسترسی پایین‌تر (مثلاً میانگین دسترسی ماهانه ۱-۲ بار)، حداقل مدت ذخیره‌سازی ۳۰ روز.',
        scArchive: 'ذخیره‌سازی بایگانی مناسب برای سناریوهای تجاری با فرکانس دسترسی بسیار پایین است.',
        scDeep_Archive: 'ذخیره‌سازی سرد پایدار مناسب برای سناریوهای تجاری با فرکانس دسترسی بسیار پایین است.',
        archiveHelper:
            'فایل‌های ذخیره‌سازی بایگانی قابل دانلود مستقیم نیستند و ابتدا باید از طریق وب‌سایت ارائه‌دهنده سرویس ابری مربوطه بازیابی شوند. لطفاً با احتیاط استفاده کنید!',
        backupAlert:
            'اگر یک ارائه‌دهنده ابری با پروتکل S3 سازگار است، می‌توانید مستقیماً از آمازون S3 برای پشتیبان‌گیری استفاده کنید.',
        domain: 'دامنه شتاب‌دهنده',
        backupAccount: 'حساب پشتیبان | حساب‌های پشتیبان',
        loadBucket: 'دریافت سطل',
        accountName: 'نام حساب',
        accountKey: 'کلید حساب',
        address: 'آدرس',
        path: 'مسیر',
        safe: 'امنیت',
        passkey: 'کلید عبور',
        passkeyManage: 'مدیریت',
        passkeyKeyManagement: 'مدیریت کلید',
        passkeyHelper: 'برای ورود سریع، حداکثر ۵ کلید عبور قابل اتصال است',
        passkeyRequireSSL: 'کلیدهای عبور نیاز به دامنه متصل و دسترسی HTTPS دارند',
        passkeyTrustedProxies: 'پروکسی‌های قابل اعتماد',
        passkeyTrustedProxiesHelper:
            'فقط درخواست‌هایی از این منابع IP/CIDR هنگام تعیین HTTPS، به Forwarded و X-Forwarded-Proto اعتماد می‌کنند',
        passkeyNotSupported: 'مرورگر یا محیط فعلی از کلیدهای عبور پشتیبانی نمی‌کند',
        passkeyPrereqTitle: 'پیش‌نیازهای زیر برای کلید عبور لازم است',
        passkeyPrereqBindDomain: 'پیکربندی اتصال دامنه 1Panel',
        passkeyPrereqHttps: 'دسترسی امن از طریق HTTPS',
        passkeyPrereqBrowser: 'محیط از کلید عبور پشتیبانی می‌کند (WebAuthn + authenticator پلتفرم)',
        passkeyPrereqBrowserDetailWebAuthnUnavailable:
            'از مرورگر سیستم استفاده کنید و مطمئن شوید که پنل از طریق HTTPS با دامنه متصل باز شده است.',
        passkeyPrereqBrowserDetailPlatformCapabilityUnavailable:
            'این محیط نمی‌تواند از احراز هویت دستگاه استفاده کند. مرورگر سیستم را در نسخه جدیدتر سیستم عامل امتحان کنید.',
        passkeyPrereqBrowserDetailNoPlatformAuthenticator:
            'قفل صفحه / اثر انگشت / تشخیص چهره / Windows Hello را فعال کنید، سپس دوباره تلاش کنید.',
        passkeyPrereqBrowserDetailDetectFailed:
            'تشخیص ناموفق بود. بازخوانی و دوباره تلاش کنید، یا به مرورگر سیستم تغییر دهید.',
        passkeyPrereqGoSetup: 'پیکربندی',
        passkeyCount: 'متصل شده {0}/{1}',
        passkeyName: 'نام',
        passkeyNameHelper: 'برای تشخیص دستگاه‌ها، یک نام وارد کنید',
        passkeyAdd: 'افزودن کلید عبور',
        passkeyCreatedAt: 'تاریخ ایجاد',
        passkeyLastUsedAt: 'آخرین استفاده',
        passkeyDeleteConfirm: 'پس از حذف، این کلید عبور قابل استفاده برای ورود نیست. ادامه می‌دهید؟',
        passkeyLimit: 'حداکثر ۵ کلید عبور قابل اتصال است',
        passkeyFailed: 'ثبت کلید عبور ناموفق بود، تأیید کنید که گواهی SSL پنل یک گواهی معتبر است',
        bindInfo: 'اطلاعات اتصال',
        bindAll: 'گوش دادن به همه',
        bindInfoHelper: 'تغییر آدرس شنود سرویس یا پروتکل ممکن است باعث در دسترس نبودن سرویس شود. ادامه می‌دهید؟',
        ipv6: 'گوش دادن به IPv6',
        bindAddress: 'آدرس شنود',
        entrance: 'ورودی',
        showEntrance: 'نمایش هشدار غیرفعال در صفحه "نمای کلی"',
        entranceHelper: 'فعال‌سازی ورودی امنیتی فقط از طریق ورودی امنیتی مشخص شده اجازه ورود به پنل را می‌دهد.',
        entranceError: 'یک نقطه ورودی امنیتی به طول ۵-۱۱۶ کاراکتر، فقط اعداد یا حروف پشتیبانی می‌شوند.',
        entranceInputHelper: 'خالی بگذارید تا ورودی امنیتی غیرفعال شود.',
        randomGenerate: 'تصادفی',
        expirationTime: 'تاریخ انقضا',
        unSetting: 'تنظیم نشده',
        noneSetting: 'مدت انقضای رمز عبور پنل را تنظیم کنید. پس از انقضا، باید رمز عبور را بازنشانی کنید',
        expirationHelper: 'اگر مدت انقضای رمز عبور ۰ روز باشد، عملکرد انقضای رمز عبور غیرفعال است',
        days: 'روزهای انقضای رمز عبور',
        expiredHelper: 'رمز عبور فعلی منقضی شده است. لطفاً دوباره رمز عبور را تغییر دهید.',
        timeoutHelper: 'رمز عبور پنل در {0} روز منقضی می‌شود. پس از انقضا، باید رمز عبور را بازنشانی کنید',
        complexity: 'تأیید پیچیدگی',
        complexityHelper:
            'پس از فعال‌سازی، رمز عبور باید ۸-۳۰ کاراکتر باشد و حداقل شامل دو مورد از حروف، اعداد و کاراکترهای ویژه باشد.',
        bindDomain: 'اتصال دامنه',
        unBindDomain: 'قطع اتصال دامنه',
        panelSSL: 'SSL پنل',
        unBindDomainHelper: 'عملیات قطع اتصال دامنه ممکن است باعث ناامنی سیستم شود. ادامه می‌دهید؟',
        bindDomainHelper: 'پس از اتصال دامنه، فقط آن دامنه می‌تواند به سرویس 1Panel دسترسی داشته باشد.',
        bindDomainHelper1: 'خالی بگذارید تا اتصال دامنه غیرفعال شود.',
        bindDomainWarning:
            'پس از اتصال دامنه، شما خارج می‌شوید و فقط از طریق نام دامنه مشخص شده در تنظیمات می‌توانید به سرویس 1Panel دسترسی داشته باشید. ادامه می‌دهید؟',
        allowIPs: 'IP مجاز',
        unAllowIPs: 'IP غیرمجاز',
        unAllowIPsWarning:
            'مجاز کردن IP خالی به همه IP‌ها اجازه دسترسی به سیستم را می‌دهد که ممکن است باعث ناامنی سیستم شود. ادامه می‌دهید؟',
        allowIPsHelper:
            'پس از تنظیم لیست آدرس‌های IP مجاز، فقط آدرس IP موجود در لیست می‌تواند به سرویس پنل دسترسی داشته باشد.',
        allowIPsWarning:
            'پس از تنظیم لیست آدرس‌های IP مجاز، فقط آدرس IP موجود در لیست می‌تواند به سرویس پنل دسترسی داشته باشد. ادامه می‌دهید؟',
        allowIPsHelper1: 'خالی بگذارید تا محدودیت IP غیرفعال شود.',
        allowIPEgs: 'هر خط یک IP. مثلاً،\n172.16.10.111\n172.16.10.0/24',
        mfa: 'احراز هویت دو مرحله‌ای',
        mfaClose: 'غیرفعال‌سازی MFA امنیت سرویس را کاهش می‌دهد. ادامه می‌دهید؟',
        secret: 'راز',
        mfaInterval: 'فاصله بازخوانی (ثانیه)',
        mfaTitleHelper:
            'عنوان برای تشخیص میزبان‌های مختلف 1Panel استفاده می‌شود. پس از تغییر عنوان، دوباره اسکن کنید یا کلید راز را به صورت دستی اضافه کنید.',
        mfaIntervalHelper:
            'پس از تغییر فاصله بازخوانی، دوباره اسکن کنید یا کلید راز را به صورت دستی اضافه کنید.\nبرخی از برنامه‌های احراز هویت فقط از فاصله ۳۰ ثانیه پشتیبانی می‌کنند (مثلاً Google/Microsoft Authenticator).',
        mfaAlert:
            'توکن یک‌بار مصرف یک عدد ۶ رقمی است که به صورت پویا تولید شده و بر اساس زمان فعلی است. مطمئن شوید که زمان سرور همگام است.',
        mfaHelper: 'پس از فعال‌سازی، توکن یک‌بار مصرف باید تأیید شود.',
        mfaHelper1: 'یک برنامه احراز هویت دانلود کنید، مثلاً،',
        mfaHelper2:
            'برای دریافت توکن یک‌بار مصرف، کد QR زیر را با برنامه احراز هویت خود اسکن کنید یا کلید راز را در برنامه احراز هویت خود کپی کنید.',
        mfaHelper3: 'شش رقم از برنامه را وارد کنید',
        mfaCode: 'توکن یک‌بار مصرف',
        sslChangeHelper: 'تنظیمات https را تغییر داده و سرویس را مجدداً راه‌اندازی کنید. ادامه می‌دهید؟',
        sslDisable: 'غیرفعال',
        sslDisableHelper: 'اگر سرویس https غیرفعال شود، برای اعمال نیاز به راه‌اندازی مجدد پنل است. ادامه می‌دهید؟',
        noAuthSetting: 'تنظیمات عدم مجوز',
        noAuthSettingHelper:
            'هنگامی که کاربران با ورودی امنیتی مشخص شده وارد نمی‌شوند، یا از IP یا دامنه مشخص شده به پنل دسترسی ندارند، این پاسخ می‌تواند ویژگی پنل را پنهان کند.',
        responseSetting: 'تنظیمات پاسخ',
        help200: 'صفحه راهنما',
        error400: 'درخواست نادرست',
        error401: 'غیرمجاز',
        error403: 'ممنوع',
        error404: 'یافت نشد',
        error408: 'زمان درخواست به پایان رسید',
        error416: 'محدوده راضی‌کننده نیست',
        error444: 'اتصال بسته شد',
        error500: 'خطای داخلی سرور',
        https: 'تنظیم HTTPS برای پنل امنیت دسترسی را بهبود می‌بخشد',
        strictHelper: 'ترافیک غیر HTTPS نمی‌تواند به پنل متصل شود',
        muxHelper:
            'پنل به هر دو پروتکل HTTP و HTTPS گوش می‌دهد و ترافیک HTTP را به HTTPS تغییر مسیر می‌دهد، اما این ممکن است امنیت پنل را کاهش دهد',
        certType: 'نوع گواهی',
        selfSigned: 'خود امضا',
        selfSignedHelper: 'مرورگرها ممکن است به گواهی‌های خود امضا اعتماد نکنند و هشدارهای امنیتی نشان دهند.',
        select: 'انتخاب',
        domainOrIP: 'دامنه یا IP:',
        timeOut: 'مهلت',
        rootCrtDownload: 'دانلود گواهی ریشه',
        primaryKey: 'کلید اصلی',
        certificate: 'گواهی',
        backupJump:
            'فایل‌های پشتیبان در لیست پشتیبان فعلی نیستند، لطفاً از دایرکتوری فایل دانلود کرده و برای پشتیبان‌گیری وارد کنید.',
        snapshot: 'تصویر لحظه‌ای | تصاویر لحظه‌ای',
        noAppData: 'هیچ برنامه سیستمی برای انتخاب موجود نیست',
        noBackupData: 'هیچ داده پشتیبان برای انتخاب موجود نیست',
        stepBaseData: 'داده پایه',
        stepAppData: 'برنامه سیستم',
        stepPanelData: 'داده سیستم',
        stepBackupData: 'داده پشتیبان',
        stepOtherData: 'سایر داده‌ها',
        operationLog: 'نگهداری لاگ عملیات',
        loginLog: 'نگهداری لاگ دسترسی',
        systemLog: 'نگهداری لاگ سیستم',
        taskLog: 'نگهداری لاگ وظیفه',
        monitorData: 'نگهداری داده‌های نظارت',
        dockerConf: 'نگهداری پیکربندی Docker',
        selectAllImage: 'پشتیبان‌گیری از همه تصاویر برنامه',
        logLabel: 'لاگ',
        agentLabel: 'پیکربندی گره',
        appDataLabel: 'داده برنامه',
        appImage: 'تصویر برنامه',
        appBackup: 'پشتیبان برنامه',
        backupLabel: 'دایرکتوری پشتیبان',
        confLabel: 'فایل پیکربندی',
        dockerLabel: 'کانتینر',
        taskLabel: 'وظیفه زمان‌بندی',
        resourceLabel: 'دایرکتوری منابع برنامه',
        runtimeLabel: 'محیط اجرا',
        appLabel: 'برنامه',
        databaseLabel: 'پایگاه داده',
        snapshotLabel: 'فایل تصویر لحظه‌ای',
        websiteLabel: 'وب‌سایت',
        directoryLabel: 'دایرکتوری',
        appStoreLabel: 'فروشگاه برنامه',
        shellLabel: 'اسکریپت',
        tmpLabel: 'دایرکتوری موقت',
        sslLabel: 'دایرکتوری گواهی',
        reCreate: 'ایجاد تصویر لحظه‌ای ناموفق بود',
        reRollback: 'بازگشت تصویر لحظه‌ای ناموفق بود',
        deleteHelper:
            'همه فایل‌های تصویر لحظه‌ای از جمله موارد موجود در حساب پشتیبان شخص ثالث حذف می‌شوند. ادامه می‌دهید؟',
        status: 'وضعیت تصویر لحظه‌ای',
        ignoreRule: 'قانون نادیده گرفتن',
        editIgnoreRule: '@:commons.button.edit @.lower:setting.ignoreRule',
        ignoreHelper:
            'این قانون برای فشرده‌سازی و پشتیبان‌گیری از دایرکتوری داده 1Panel در هنگام ایجاد تصویر لحظه‌ای استفاده می‌شود. به طور پیش‌فرض، فایل‌های سوکت نادیده گرفته می‌شوند.',
        ignoreHelper1: 'هر خط یک قانون. مثلاً،\n*.log\n/opt/1panel/cache',
        panelInfo: 'نوشتن اطلاعات پایه 1Panel',
        panelBin: 'پشتیبان‌گیری از فایل‌های سیستم 1Panel',
        daemonJson: 'پشتیبان‌گیری از فایل پیکربندی Docker',
        appData: 'پشتیبان‌گیری از برنامه‌های نصب شده 1Panel',
        panelData: 'پشتیبان‌گیری از دایرکتوری داده 1Panel',
        backupData: 'پشتیبان‌گیری از دایرکتوری پشتیبان محلی 1Panel',
        compress: 'ایجاد فایل تصویر لحظه‌ای',
        upload: 'بارگذاری فایل تصویر لحظه‌ای',
        recoverDetail: 'جزئیات بازیابی',
        recoverFailed: 'بازیابی تصویر لحظه‌ای ناموفق بود',
        importHelper: 'دایرکتوری تصویر لحظه‌ای: ',
        lastRecoverAt: 'آخرین زمان بازیابی',
        lastRollbackAt: 'آخرین زمان بازگشت',
        reDownload: 'دانلود مجدد فایل پشتیبان',
        recoverErrArch: 'بازیابی تصویر لحظه‌ای بین معماری‌های مختلف سرور پشتیبانی نمی‌شود!',
        recoverErrSize: 'فضای دیسک ناکافی تشخیص داده شد، لطفاً بررسی یا پاک‌سازی کرده و دوباره تلاش کنید!',
        recoverHelper: 'شروع بازیابی از تصویر لحظه‌ای {0}، قبل از ادامه اطلاعات زیر را تأیید کنید:',
        recoverHelper1: 'بازیابی نیاز به راه‌اندازی مجدد سرویس‌های Docker و 1Panel دارد',
        recoverHelper2:
            'لطفاً اطمینان حاصل کنید که فضای دیسک کافی روی سرور وجود دارد (اندازه فایل تصویر لحظه‌ای: {0}، فضای موجود: {1})',
        recoverHelper3:
            'لطفاً اطمینان حاصل کنید که معماری سرور با معماری سروری که تصویر لحظه‌ای روی آن ایجاد شده مطابقت دارد (معماری سرور فعلی: {0})',
        recoverHelper4:
            'این عملیات فقط گره اصلی را بازگردانی می‌کند. اگر گره‌های ثانویه ارتقاء یافته وجود دارند، ابتدا آنها را بازگردانی کنید سپس ادامه دهید.',
        rollback: 'بازگشت',
        rollbackHelper:
            'بازگشت این بازیابی همه فایل‌های این بازیابی را جایگزین می‌کند و ممکن است نیاز به راه‌اندازی مجدد سرویس‌های Docker و 1Panel داشته باشد. ادامه می‌دهید؟',
        upgradeRecord: 'سابقه ارتقاء',
        upgrading: 'در حال ارتقاء، لطفاً صبر کنید...',
        upgradeHelper: 'ارتقاء نیاز به راه‌اندازی مجدد سرویس 1Panel دارد. ادامه می‌دهید؟',
        noUpgrade: 'در حال حاضر آخرین نسخه است',
        versionHelper:
            'قوانین نام‌گذاری: [نسخه اصلی].[نسخه عملکردی].[نسخه رفع اشکال]، همانطور که در مثال زیر نشان داده شده است:',
        rollbackLocalHelper:
            'گره اصلی از بازگشت مستقیم پشتیبانی نمی‌کند. لطفاً برای بازگشت به صورت دستی دستور [1pctl restore] را اجرا کنید!',
        upgradeCheck: 'بررسی به‌روزرسانی',
        upgradeNotes: 'یادداشت انتشار',
        upgradeNow: 'ارتقاء اکنون',
        source: 'منبع دانلود',
        versionNotSame: 'نسخه گره با گره اصلی مطابقت ندارد. لطفاً قبل از تلاش مجدد در مدیریت گره ارتقاء دهید.',
        versionCompare:
            'تشخیص داده شد که گره {0} در حال حاضر به آخرین نسخه قابل ارتقاء رسیده است. لطفاً نسخه گره اصلی را بررسی کرده و دوباره تلاش کنید!',
        about: 'درباره',
        versionItem: 'نسخه فعلی',
        backupCopies: 'تعداد کپی‌های پشتیبان',
        backupCopiesHelper: 'تعداد کپی‌های پشتیبان ارتقاء را برای بازگشت نسخه تنظیم کنید. ۰ به معنای نگهداری همه است.',
        backupCopiesRule: 'لطفاً حداقل ۳ رکورد پشتیبان ارتقاء نگهداری کنید',
        release: 'یادداشت‌های انتشار',
        releaseHelper:
            'دریافت یادداشت‌های انتشار برای محیط فعلی ناموفق بود. می‌توانید به صورت دستی مستندات رسمی را بررسی کنید.',
        project: 'گیت‌هاب',
        issue: 'بازخورد',
        doc: 'مستندات رسمی',
        star: 'ستاره',
        description: 'پنل مدیریت سرور لینوکس',
        forum: 'گفتگوها',
        doc2: 'مستندات',
        currentVersion: 'نسخه',
        license: 'مجوز',
        bindNode: 'اتصال گره',
        menuSetting: 'تنظیمات منو',
        menuHide: 'مخفی‌سازی منو',
        menuSettingHelper: 'زمانی که فقط ۱ زیرمنو وجود دارد، نوار منو فقط آن زیرمنو را نمایش می‌دهد',
        showAll: 'نمایش همه',
        hideALL: 'مخفی کردن همه',
        ifShow: 'آیا نمایش داده شود',
        menu: 'منو',
        confirmMessage: 'صفحه برای به‌روزرسانی لیست منوی پیشرفته بازخوانی می‌شود. ادامه می‌دهید؟',
        recoverMessage: 'صفحه بازخوانی می‌شود و لیست منو به حالت اولیه بازگردانده می‌شود. ادامه می‌دهید؟',
        compressPassword: 'رمز عبور فشرده‌سازی',
        backupRecoverMessage: 'رمز عبور فشرده‌سازی یا باز کردن فشرده را وارد کنید (خالی بگذارید تا تنظیم نشود)',
    },
    license: {
        offLine: 'آفلاین',
        community: 'OSS',
        oss: 'نرم‌افزار منبع باز',
        ee: 'نسخه سازمانی',
        pro: 'حرفه‌ای',
        trial: 'آزمایشی',
        add: 'افزودن نسخه انجمن',
        licenseBindHelper: 'سهمیه گره‌های رایگان فقط زمانی قابل استفاده است که مجوز به گره متصل باشد',
        licenseAlert:
            'گره‌های نسخه انجمن فقط زمانی قابل افزودن هستند که مجوز به درستی به گره متصل باشد. فقط گره‌هایی که به درستی به مجوز متصل هستند از تغییر پشتیبانی می‌کنند.',
        licenseUnbindHelper:
            'گره‌های نسخه انجمن برای این مجوز شناسایی شدند. لطفاً ابتدا آنها را قطع اتصال کرده و دوباره تلاش کنید!',
        subscription: 'اشتراک',
        perpetual: 'دائمی',
        product: 'محصول',
        versionConstraint: 'خرید نسخه {0}',
        forceUnbind: 'قطع اجباری',
        forceUnbindHelper:
            'قطع اجباری هر گونه خطایی که در طول فرآیند قطع اتصال رخ دهد را نادیده گرفته و در نهایت اتصال مجوز را آزاد می‌کند.',
        updateForce: 'به‌روزرسانی اجباری (نادیده گرفتن همه خطاها در طول قطع اتصال برای اطمینان از موفقیت نهایی عملیات)',
        trialInfo: 'نسخه',
        authorizationId: 'شناسه اشتراک',
        authorizedUser: 'کاربر مجاز',
        lostHelper:
            'مجوز به محدودیت تلاش مجدد رسیده است. برای اطمینان از ادامه کار ویژگی‌های نسخه تجاری، روی همگام‌سازی دستی کلیک کنید.',
        exceptionalHelper:
            'تأیید همگام‌سازی مجوز ناموفق بود. برای اطمینان از عملکرد صحیح ویژگی‌های نسخه تجاری، روی همگام‌سازی دستی کلیک کنید. جزئیات: ',
        quickUpdate: 'به‌روزرسانی سریع',
        import: 'واردات',
        power: 'مجوز',
        unbindHelper: 'همه تنظیمات مرتبط با نسخه تجاری پس از قطع اتصال پاک می‌شوند. ادامه می‌دهید؟ ',
        importLicense: 'واردات مجوز',
        securityWarningTitle: 'از مجوزهای کرک شده یا مجوزهای منابع ناشناخته استفاده نکنید.',
        securityWarningContent:
            '1Panel با مجوزهای مدیریت سیستم اجرا می‌شود. مجوزهای غیررسمی یا ساخت‌های دستکاری شده ممکن است باعث تصاحب سرور، نشت داده و سایر خطرات امنیتی جدی شوند. مجوزها و نصب‌کننده‌ها را فقط از کانال‌های رسمی FIT2CLOUD تهیه کنید.',
        importHelper: 'برای بارگذاری مجوز، کلیک کنید یا فایل را اینجا بکشید',
        licenseRequiredTip:
            'مجوز هنوز وارد نشده است. شناسه دستگاه را کپی کنید، مجوز را دریافت کرده و قبل از ورود وارد کنید.',
        licenseRequiredShortTip:
            'لطفاً ابتدا شناسه دستگاه را کپی کنید تا مجوز دریافت کنید. پس از وارد کردن مجوز می‌توانید وارد شوید.',
        licenseRequiredUserTip: 'مجوز نسخه سازمانی متصل نیست. برای وارد کردن مجوز با ابرمدیر تماس بگیرید.',
        restoreCommunity: 'بازیابی نسخه Community',
        restoreCommunityOnline: 'بازیابی آنلاین',
        restoreCommunityOffline: 'بازیابی آفلاین',
        restoreCommunityPackageFound:
            'یک بسته آفلاین قابل استفاده Community Edition شناسایی شد. بازیابی آفلاین در دسترس است.',
        restoreCommunityPackageMissing:
            'هیچ بسته آفلاین قابل استفاده Community Edition شناسایی نشد. بازیابی آفلاین در حال حاضر در دسترس نیست.',
        restoreCommunityOnlineHelper:
            'بسته نسخه Community برای نسخه فعلی به‌طور خودکار دانلود و داده‌های ویژه Enterprise پاک‌سازی می‌شوند.',
        restoreCommunityOfflineHelper:
            'یک بسته رسمی با نسخه‌ای قدیمی‌تر نبودن از نسخه فعلی Enterprise را در {path} قرار دهید. پس از شناسایی بسته قابل استفاده، تغییر نسخه فعال می‌شود.',
        restoreCommunityConfirm:
            'پس از تغییر نسخه، می‌توانید با حساب ابرمدیر فعلی Enterprise وارد نسخه Community شوید. داده‌های مختص Enterprise در طول تغییر حذف می‌شوند. لطفاً با احتیاط ادامه دهید.',
        restoreCommunityStarting:
            'نسخه Community در حال آماده‌سازی است. پس از تکمیل، پنل به‌طور خودکار راه‌اندازی مجدد می‌شود.',
        levelUpPro: 'ارتقاء به نسخه تجاری',
        licenseSync: 'همگام‌سازی مجوز',
        knowMorePro: 'بیشتر بدانید',
        closeAlert: 'صفحه فعلی را می‌توان در تنظیمات پنل بست',
        introduce: 'معرفی ویژگی‌ها',
        deviceID: 'شناسه دستگاه',
        corporation: 'شرکت مجوز',
        expired: 'زمان انقضا',
        edition: 'نسخه',
        standard: 'استاندارد',
        enterprise: 'سازمانی',
        count: 'تعداد مجوز',
        serialNo: 'شماره سریال',
        remark: 'یادداشت',
        waf: 'برای باز کردن نقشه‌های رهگیری، لاگ‌ها، رکوردهای مسدودسازی، محدودیت جغرافیایی، قوانین سفارشی، صفحات مسدودسازی سفارشی و موارد دیگر به نسخه تجاری ارتقاء دهید.',
        tamper: 'برای محافظت از وب‌سایت‌ها در برابر تغییرات یا دستکاری غیرمجاز به نسخه تجاری ارتقاء دهید.',
        tamperHelper:
            'عملیات ناموفق بود، فایل یا پوشه دارای محافظت در برابر دستکاری است. لطفاً بررسی و دوباره تلاش کنید!',
        setting: 'برای سفارشی‌سازی لوگوی پنل، پیام خوش‌آمدگویی و موارد دیگر به نسخه تجاری ارتقاء دهید.',
        monitor:
            'برای مشاهده وضعیت بلادرنگ وب‌سایت، روند بازدیدکنندگان، منابع ترافیک، لاگ‌های درخواست و موارد دیگر به نسخه تجاری ارتقاء دهید.',
        alert: 'برای دریافت هشدارهای پیامکی، مرور لاگ‌های هشدار و آگاهی از رویدادهای کلیدی به نسخه تجاری ارتقاء دهید.',
        node: 'برای مدیریت چندین سرور لینوکس در 1Panel به نسخه تجاری ارتقاء دهید.',
        nodeApp: 'برای ارتقاء نسخه برنامه‌های چند گره بدون نیاز به جابجایی دستی بین گره‌ها به نسخه تجاری ارتقاء دهید.',
        nodeDashboard:
            'برای مدیریت متمرکز برنامه‌ها، وب‌سایت‌ها، پایگاه‌های داده و وظایف زمان‌بندی شده چند گره به نسخه تجاری ارتقاء دهید.',
        fileExchange: 'برای انتقال سریع فایل‌ها بین سرورها به نسخه تجاری ارتقاء دهید.',
        app: 'برای مشاهده جزئیات سرویس، نظارت بر ناهنجاری‌ها و موارد دیگر در برنامه موبایل به نسخه تجاری ارتقاء دهید.',
        cluster: 'برای مدیریت خوشه‌های اصلی-برده MySQL/Postgres/Redis به نسخه تجاری ارتقاء دهید.',
        vllm: 'برای مدیریت سرویس‌های vLLM در 1Panel با استقرار متمرکز، پیکربندی، عملیات چرخه حیات و ردیابی وظایف به نسخه تجاری ارتقاء دهید.',
        'model-downloader':
            'برای جستجو، دانلود و مدیریت فایل‌های مدل محلی از HuggingFace، ModelScope یا آینه‌های سازگار با دایرکتوری‌های مدل متمرکز و وظایف دانلود به نسخه تجاری ارتقاء دهید.',
    },
    clean: {
        scan: 'شروع اسکن',
        scanHelper: 'به راحتی فایل‌های زباله تولید شده در حین اجرای 1Panel را پاک‌سازی کنید',
        clean: 'پاک‌سازی اکنون',
        reScan: 'اسکن مجدد',
        cleanHelper: 'فایل‌ها و دایرکتوری‌های انتخاب شده پس از پاک‌سازی قابل بازگشت نیستند. ادامه می‌دهید؟',
        statusSuggest: '(توصیه به پاک‌سازی)',
        statusClean: '(بسیار تمیز)',
        statusEmpty: 'بسیار تمیز، نیازی به پاک‌سازی نیست!',
        statusWarning: '(با احتیاط ادامه دهید)',
        lastCleanTime: 'آخرین پاک‌سازی: {0}',
        lastCleanHelper: 'فایل‌ها و دایرکتوری‌های پاک‌سازی شده: {0}، مجموع پاک‌سازی: {1}',
        cleanSuccessful: 'پاک‌سازی با موفقیت انجام شد',
        currentCleanHelper: 'فایل‌ها و دایرکتوری‌های پاک‌سازی شده در این جلسه: {0}، مجموع پاک‌سازی: {1}',
        suggest: '(توصیه شده)',
        totalScan: 'مجموع فایل‌های زباله برای پاک‌سازی: ',
        selectScan: 'مجموع فایل‌های زباله انتخاب شده: ',
        system: 'فایل‌های زباله سیستم',
        systemHelper: 'فایل‌های موقت تولید شده در طول تصویر لحظه‌ای، ارتقاء و سایر فرآیندها',
        panelOriginal: 'فایل‌های پشتیبان قبل از بازیابی تصویر لحظه‌ای سیستم',
        upgrade: 'فایل‌های پشتیبان ارتقاء سیستم',
        agentPackages: 'بسته‌های نصب/ارتقاء گره‌های زیرین نسخه قبلی',
        upgradeHelper: '(توصیه می‌شود آخرین پشتیبان ارتقاء را برای بازگشت سیستم نگهداری کنید)',
        snapshot: 'فایل‌های موقت تصویر لحظه‌ای سیستم',
        rollback: 'فایل‌های پشتیبان قبل از بازیابی',
        backup: 'پشتیبان سیستم',
        backupHelper: 'فایل‌های پشتیبان که با حساب‌های پشتیبان محلی مرتبط نیستند',
        unknownBackup: 'پشتیبان سیستم',
        tmpBackup: 'پشتیبان موقت',
        unknownApp: 'پشتیبان برنامه غیرمرتبط',
        unknownDatabase: 'پشتیبان پایگاه داده غیرمرتبط',
        unknownWebsite: 'پشتیبان وب‌سایت غیرمرتبط',
        unknownSnapshot: 'پشتیبان تصویر لحظه‌ای غیرمرتبط',
        upload: 'فایل‌های موقت بارگذاری شده',
        uploadHelper: 'فایل‌های موقت بارگذاری شده از لیست پشتیبان سیستم',
        download: 'فایل‌های موقت دانلود شده',
        downloadHelper: 'فایل‌های موقت دانلود شده از حساب‌های پشتیبان شخص ثالث توسط سیستم',
        directory: 'دایرکتوری',
        systemLog: 'فایل لاگ',
        systemLogHelper: 'لاگ‌های سیستم، لاگ‌های وظیفه، فایل‌های لاگ وب‌سایت',
        dockerLog: 'فایل‌های لاگ عملیات کانتینر',
        taskLog: 'فایل‌های لاگ اجرای وظایف زمان‌بندی',
        shell: 'وظایف زمان‌بندی اسکریپت شل',
        containerShell: 'وظایف زمان‌بندی اسکریپت شل اجرا شده در داخل کانتینر',
        curl: 'وظایف زمان‌بندی CURL',
        docker: 'زباله کانتینر',
        dockerHelper: 'فایل‌هایی مانند کانتینرها، تصاویر، حجم‌ها، کش ساخت و غیره.',
        volumes: 'حجم‌ها',
        buildCache: 'کش ساخت کانتینر',
        appTmpDownload: 'فایل دانلود موقت برنامه',
        unknownWebsiteLog: 'فایل پشتیبان لاگ وب‌سایت غیرمرتبط',
    },
    app: {
        app: 'برنامه | برنامه‌ها',
        installName: 'نام',
        installed: 'نصب شده',
        all: 'همه',
        version: 'نسخه',
        detail: 'جزئیات',
        params: 'پارامترها',
        author: 'نویسنده',
        source: 'منبع',
        appName: 'نام برنامه',
        deleteWarn:
            'عملیات حذف همه داده‌ها و پشتیبان‌ها را با هم حذف می‌کند. این عملیات قابل بازگشت نیست. ادامه می‌دهید؟ ',
        syncSuccess: 'همگام‌سازی با موفقیت انجام شد',
        canUpgrade: 'به‌روزرسانی',
        backupName: 'نام فایل',
        backupPath: 'مسیر فایل',
        backupdate: 'زمان پشتیبان‌گیری',
        versionSelect: 'انتخاب نسخه',
        operatorHelper: 'عملیات {0} روی برنامه انتخاب شده انجام خواهد شد. ادامه می‌دهید؟',
        startOperatorHelper: 'برنامه شروع خواهد شد. ادامه می‌دهید؟',
        stopOperatorHelper: 'برنامه متوقف خواهد شد. ادامه می‌دهید؟',
        restartOperatorHelper: 'برنامه مجدداً راه‌اندازی خواهد شد. ادامه می‌دهید؟',
        reloadOperatorHelper: 'برنامه مجدداً بارگذاری خواهد شد. ادامه می‌دهید؟',
        checkInstalledWarn: '"{0}" شناسایی نشد. به "فروشگاه برنامه" بروید تا نصب کنید.',
        limitHelper: 'برنامه از قبل نصب شده است.',
        deleteHelper: '"{0}" با منبع(های) زیر مرتبط است و قابل حذف نیست',
        checkTitle: 'نکته',
        defaultConfig: 'پیکربندی پیش‌فرض',
        defaultConfigHelper: 'به پیکربندی پیش‌فرض بازگردانده شد، پس از ذخیره اعمال می‌شود',
        forceDelete: 'حذف اجباری',
        forceDeleteHelper: 'حذف اجباری خطاهای حین حذف را نادیده گرفته و در نهایت فراداده را حذف می‌کند.',
        deleteBackup: 'حذف پشتیبان',
        deleteBackupHelper: 'همچنین پشتیبان برنامه را حذف کنید',
        deleteDB: 'حذف پایگاه داده',
        deleteDBHelper: 'همچنین پایگاه داده را حذف کنید',
        noService: 'بدون {0}',
        toInstall: 'رفتن به نصب',
        param: 'پارامترها',
        alreadyRun: 'نصب شده',
        syncAppList: 'همگام‌سازی',
        less1Minute: 'کمتر از ۱ دقیقه',
        appOfficeWebsite: 'وب‌سایت رسمی',
        github: 'گیت‌هاب',
        document: 'مستندات',
        updatePrompt: 'هیچ به‌روزرسانی موجود نیست',
        installPrompt: 'هنوز هیچ برنامه‌ای نصب نشده است',
        updateHelper: 'ویرایش پارامترها ممکن است باعث شود برنامه راه‌اندازی نشود. لطفاً با احتیاط اقدام کنید.',
        updateWarn: 'به‌روزرسانی پارامترها نیاز به بازسازی برنامه دارد، ادامه می‌دهید؟ ',
        busPort: 'پورت',
        syncStart: 'شروع همگام‌سازی! لطفاً بعداً فروشگاه برنامه را بازخوانی کنید',
        advanced: 'تنظیمات پیشرفته',
        cpuCore: 'هسته',
        containerName: 'نام کانتینر',
        containerNameHelper: 'در صورت عدم تنظیم، نام کانتینر به طور خودکار تولید می‌شود',
        allowPort: 'دسترسی خارجی',
        allowPortHelper: 'اجازه دسترسی خارجی به پورت، پورت دیواره آتش را آزاد می‌کند',
        appInstallWarn:
            'این برنامه به طور پیش‌فرض پورت خارجی را نمایش نمی‌دهد. برای نمایش آن روی "تنظیمات پیشرفته" کلیک کنید.',
        upgradeStart: 'شروع ارتقاء! لطفاً بعداً صفحه را بازخوانی کنید',
        toFolder: 'باز کردن دایرکتوری نصب',
        editCompose: 'ویرایش فایل compose',
        editComposeHelper: 'ویرایش فایل compose ممکن است باعث شکست نصب نرم‌افزار شود',
        composeNullErr: 'compose نمی‌تواند خالی باشد',
        takeDown: 'بازنشسته',
        allReadyInstalled: 'نصب شده',
        installHelper: 'اگر در دریافت تصویر مشکل دارید، شتاب تصویر را پیکربندی کنید.',
        sortMode: 'مرتب‌سازی',
        installWarn:
            'دسترسی خارجی انتخاب نشده است، این کار باعث می‌شود برنامه از طریق شبکه خارجی قابل دسترسی نباشد. ادامه می‌دهید؟',
        showIgnore: 'مشاهده برنامه‌های نادیده گرفته شده',
        cancelIgnore: 'لغو نادیده گرفتن',
        ignoreList: 'برنامه‌های نادیده گرفته شده',
        appHelper: 'برای یادگیری دستورالعمل‌های نصب برای برخی برنامه‌های خاص به صفحه جزئیات برنامه بروید.',
        backupApp: 'پشتیبان‌گیری از برنامه قبل از ارتقاء',
        backupAppHelper:
            'اگر ارتقاء ناموفق باشد، پشتیبان به طور خودکار بازگردانی می‌شود. لطفاً دلیل شکست را در لاگ حسابرسی-لاگ سیستم بررسی کنید',
        openrestyDeleteHelper: 'حذف اجباری OpenResty همه وب‌سایت‌ها را حذف می‌کند. ادامه می‌دهید؟',
        downloadLogHelper1: 'همه لاگ‌های برنامه {0} دانلود می‌شوند. ادامه می‌دهید؟ ',
        downloadLogHelper2: 'آخرین {1} لاگ برنامه {0} دانلود می‌شود. ادامه می‌دهید؟ ',
        syncAllAppHelper: 'همه برنامه‌ها همگام‌سازی می‌شوند. ادامه می‌دهید؟ ',
        hostModeHelper:
            'حالت شبکه برنامه فعلی حالت host است. در صورت نیاز به باز کردن پورت، لطفاً به صورت دستی در صفحه دیواره آتش باز کنید.',
        showLocal: 'نمایش برنامه‌های محلی',
        reload: 'بارگذاری مجدد',
        upgradeWarn:
            'ارتقاء برنامه فایل docker-compose.yml را جایگزین می‌کند. در صورت وجود تغییرات، می‌توانید برای مشاهده مقایسه فایل کلیک کنید',
        openclawHttpsUpgradeNoticeTitle:
            'توجه: دستورالعمل‌های زیر فقط هنگام ارتقاء OpenClaw از نسخه‌های 2026.3.13 تا 2026.3.22 به 2026.3.23 یا بالاتر اعمال می‌شوند:',
        openclawHttpsUpgradeNoticeItem1:
            'پس از ارتقاء، دسترسی عامل به HTTP بازمی‌گردد. به پیکربندی -> تنظیمات -> امنیت بروید و آدرس دسترسی را تأیید کنید.',
        openclawHttpsUpgradeNoticeItem2:
            'اگر قبلاً از یک وب‌سایت پراکسی معکوس استفاده می‌کردید، هدف پراکسی را به http://IP:Port تغییر دهید.',
        newVersion: 'نسخه جدید',
        oldVersion: 'نسخه فعلی',
        composeDiff: 'مقایسه فایل',
        showDiff: 'مشاهده مقایسه',
        useNew: 'استفاده از نسخه سفارشی',
        useDefault: 'استفاده از نسخه پیش‌فرض',
        useCustom: 'سفارشی‌سازی docker-compose.yml',
        useCustomHelper:
            'استفاده از فایل docker-compose.yml سفارشی ممکن است باعث شکست ارتقاء برنامه شود. در صورت عدم نیاز، آن را انتخاب نکنید.',
        diffHelper: 'سمت چپ نسخه قدیمی، سمت راست نسخه جدید است. پس از ویرایش، برای ذخیره نسخه سفارشی کلیک کنید',
        pullImage: 'دریافت تصویر',
        pullImageHelper: 'قبل از شروع برنامه، docker pull را برای دریافت تصویر اجرا کنید',
        deleteImage: 'حذف تصویر',
        deleteImageHelper: 'تصویر مرتبط با برنامه را حذف کنید. در صورت شکست حذف، وظیفه متوقف نمی‌شود',
        requireMemory: 'حافظه',
        supportedArchitectures: 'معماری‌ها',
        link: 'لینک',
        showCurrentArch: 'معماری',
        syncLocalApp: 'همگام‌سازی برنامه محلی',
        memoryRequiredHelper: 'نیاز حافظه برنامه فعلی {0}',
        gpuConfig: 'فعال‌سازی پشتیبانی GPU',
        gpuConfigHelper:
            'لطفاً اطمینان حاصل کنید که دستگاه دارای GPU NVIDIA است و درایورهای NVIDIA و NVIDIA Docker Container Toolkit نصب شده‌اند',
        webUI: 'آدرس دسترسی وب',
        webUIPlaceholder: 'مثلاً: example.com:8080/login',
        defaultWebDomain: 'آدرس دسترسی پیش‌فرض',
        defaultWebDomainHepler:
            'اگر پورت برنامه ۸۰۸۰ باشد، آدرس تغییر مسیر http(s)://آدرس دسترسی پیش‌فرض:8080 خواهد بود',
        webUIConfig:
            'گره فعلی آدرس دسترسی پیش‌فرضی پیکربندی نکرده است. لطفاً آن را در پارامترهای برنامه تنظیم کنید یا به تنظیمات پنل بروید!',
        toLink: 'باز کردن',
        customAppHelper:
            'قبل از نصب بسته فروشگاه برنامه سفارشی، لطفاً اطمینان حاصل کنید که هیچ برنامه‌ای نصب نشده است.',
        forceUninstall: 'حذف اجباری نصب',
        syncCustomApp: 'همگام‌سازی برنامه سفارشی',
        ignoreAll: 'نادیده گرفتن همه نسخه‌های بعدی',
        ignoreVersion: 'نادیده گرفتن نسخه مشخص',
        specifyIP: 'اتصال IP میزبان',
        specifyIPHelper: 'آدرس میزبان/رابط شبکه را برای اتصال پورت تنظیم کنید (در صورت عدم اطمینان، آن را پر نکنید)',
        uninstallDeleteBackup: 'حذف نصب برنامه - حذف پشتیبان',
        uninstallDeleteImage: 'حذف نصب برنامه - حذف تصویر',
        upgradeBackup: 'پشتیبان‌گیری از برنامه قبل از ارتقاء',
        upgradeDeleteImage: 'ارتقاء برنامه - حذف تصویر قدیمی',
        installAllowPort: 'هنگام نصب برنامه‌ها به طور پیش‌فرض دسترسی به پورت خارجی را باز کنید',
        noAppHelper: 'هیچ برنامه‌ای شناسایی نشد، برای مشاهده لاگ همگام‌سازی فروشگاه برنامه به مرکز وظایف بروید',
        isEdirWarn: 'تغییرات در docker-compose.yml شناسایی شد. لطفاً تفاوت را بررسی کنید.',
    },
    website: {
        primaryDomain: 'دامنه اصلی',
        otherDomains: 'سایر دامنه‌ها',
        static: 'ایستا',
        deployment: 'استقرار',
        supportUpType: 'فقط فرمت فایل .tar.gz پشتیبانی می‌شود و بسته فشرده باید شامل فایل {0}.json باشد',
        proxy: 'پراکسی معکوس',
        alias: 'نام مستعار',
        ftpUser: 'حساب FTP',
        ftpPassword: 'رمز عبور FTP',
        ftpHelper:
            'پس از ایجاد وب‌سایت، یک حساب FTP مربوطه ایجاد می‌شود و دایرکتوری FTP به دایرکتوری وب‌سایت لینک می‌شود.',
        remark: 'یادداشت',
        groupSetting: 'مدیریت گروه',
        createGroup: 'ایجاد گروه',
        appNew: 'برنامه جدید',
        appInstalled: 'برنامه نصب شده',
        delete: 'حذف وب‌سایت',
        deleteApp: 'حذف برنامه',
        deleteBackup: 'حذف پشتیبان',
        domain: 'دامنه',
        domainHelper: 'هر خط یک دامنه.\nپشتیبانی از کاراکتر عام "*" و آدرس IP.\nپشتیبانی از افزودن پورت.',
        addDomain: 'افزودن',
        domainConfig: 'دامنه‌ها',
        defaultDoc: 'سند پیش‌فرض',
        perserver: 'هم‌روندی',
        perserverHelper: 'حداکثر هم‌روندی سایت فعلی را محدود کنید',
        perip: 'IP تکی',
        peripHelper: 'حداکثر تعداد دسترسی هم‌زمان به یک IP را محدود کنید',
        rate: 'محدودیت ترافیک',
        rateLimit: 'محدودیت نرخ در هر درخواست',
        rateHelper: 'محدودیت ترافیک هر درخواست (واحد: کیلوبایت)',
        rateLimitHelper: 'محدودیت نرخ انتقال در هر درخواست (واحد: کیلوبایت/ثانیه)',
        limitHelper: 'فعال‌سازی کنترل ترافیک',
        other: 'سایر',
        currentSSL: 'گواهی فعلی',
        dnsAccount: 'حساب DNS',
        applySSL: 'درخواست گواهی',
        SSLList: 'لیست گواهی',
        createDnsAccount: 'حساب DNS',
        aliyun: 'DNS علی‌یون',
        aliEsa: 'علی ESA',
        awsRoute53: 'آمازون Route 53',
        manual: 'تحلیل دستی',
        key: 'کلید',
        check: 'مشاهده',
        acmeAccountManage: 'مدیریت حساب‌های ACME',
        email: 'ایمیل',
        acmeAccount: 'حساب ACME',
        provider: 'روش تأیید',
        dnsManual: 'تحلیل دستی',
        expireDate: 'تاریخ انقضا',
        brand: 'سازمان',
        deploySSL: 'استقرار',
        deploySSLHelper: 'آیا مطمئن هستید که می‌خواهید گواهی را مستقر کنید؟ ',
        ssl: 'گواهی | گواهی‌ها',
        dnsAccountManage: 'مدیریت ارائه‌دهندگان DNS',
        renewSSL: 'تمدید',
        renewHelper: 'آیا مطمئن هستید که می‌خواهید گواهی را تمدید کنید؟ ',
        renewSuccess: 'تمدید گواهی',
        enableHTTPS: 'فعال',
        aliasHelper: 'نام مستعار نام دایرکتوری وب‌سایت است',
        lastBackupAt: 'آخرین زمان پشتیبان‌گیری',
        null: 'هیچکدام',
        nginxConfig: 'پیکربندی Nginx',
        websiteConfig: 'تنظیمات وب‌سایت',
        proxySettings: 'تنظیمات پراکسی',
        advancedSettings: 'تنظیمات پیشرفته',
        cacheSettings: 'تنظیمات کش',
        sniSettings: 'تنظیمات SNI',
        basic: 'پایه',
        source: 'پیکربندی',
        security: 'امنیت',
        nginxPer: 'بهینه‌سازی عملکرد',
        neverExpire: 'هرگز',
        setDefault: 'تنظیم به عنوان پیش‌فرض',
        deleteHelper: 'وضعیت برنامه مرتبط غیرعادی است، لطفاً بررسی کنید',
        toApp: 'رفتن به لیست نصب شده',
        cycle: 'چرخه',
        frequency: 'فرکانس',
        ccHelper:
            'درخواست انباشته به همان URL بیش از {1} بار در {0} ثانیه، باعث فعال‌سازی دفاع CC می‌شود و این IP را مسدود می‌کند',
        mustSave: 'تغییرات باید ذخیره شوند تا اعمال شوند',
        fileExt: 'پسوند فایل',
        fileExtBlock: 'لیست سیاه پسوند فایل',
        value: 'مقدار',
        enable: 'فعال',
        proxyAddress: 'آدرس پراکسی',
        proxyHelper: 'مثال: 127.0.0.1:8080',
        forceDelete: 'حذف اجباری',
        forceDeleteHelper: 'حذف اجباری خطاهای حین حذف را نادیده گرفته و در نهایت فراداده را حذف می‌کند.',
        deleteAppHelper: 'همزمان برنامه‌های مرتبط و پشتیبان‌های برنامه را حذف کنید',
        deleteBackupHelper: 'همچنین پشتیبان‌های وب‌سایت را حذف کنید.',
        deleteDatabaseHelper: 'همچنین پایگاه داده مرتبط با وب‌سایت را حذف کنید',
        deleteConfirmHelper:
            'عملیات حذف قابل بازگشت نیست. <span style="color:red"> "{0}" </span> را برای تأیید حذف وارد کنید.',
        staticPath: 'دایرکتوری اصلی مربوطه ',
        limit: 'طرح',
        blog: 'انجمن/وبلاگ',
        imageSite: 'سایت تصویر',
        downloadSite: 'سایت دانلود',
        shopSite: 'فروشگاه',
        doorSite: 'پورتال',
        qiteSite: 'سازمانی',
        videoSite: 'ویدئو',
        errLog: 'لاگ خطا',
        stopHelper:
            'پس از توقف سایت، امکان دسترسی عادی وجود ندارد و کاربر هنگام بازدید، صفحه توقف سایت فعلی را مشاهده می‌کند. ادامه می‌دهید؟ ',
        startHelper:
            'پس از فعال‌سازی سایت، کاربران می‌توانند به طور عادی به محتوای سایت دسترسی داشته باشند، ادامه می‌دهید؟ ',
        sitePath: 'دایرکتوری',
        siteAlias: 'نام مستعار سایت',
        primaryPath: 'دایرکتوری ریشه',
        folderTitle: 'وب‌سایت عمدتاً شامل پوشه‌های زیر است',
        wafFolder: 'قوانین دیواره آتش',
        indexFolder: 'دایرکتوری ریشه وب‌سایت',
        sslFolder: 'گواهی وب‌سایت',
        enableOrNot: 'فعال',
        oldSSL: 'گواهی موجود',
        manualSSL: 'واردات گواهی',
        select: 'انتخاب',
        selectSSL: 'انتخاب گواهی',
        privateKey: 'کلید (KEY)',
        certificate: 'گواهی (فرمت PEM)',
        HTTPConfig: 'گزینه‌های HTTP',
        HTTPSOnly: 'مسدود کردن درخواست‌های HTTP',
        HTTPToHTTPS: 'تغییر مسیر به HTTPS',
        HTTPAlso: 'اجازه درخواست‌های مستقیم HTTP',
        sslConfig: 'گزینه‌های SSL',
        disableHTTPS: 'غیرفعال‌سازی HTTPS',
        disableHTTPSHelper: 'غیرفعال‌سازی HTTPS پیکربندی مرتبط با گواهی را حذف می‌کند، ادامه می‌دهید؟',
        SSLHelper:
            'توجه: از گواهی‌های SSL برای وب‌سایت‌های غیرقانونی استفاده نکنید.\nاگر پس از باز کردن، دسترسی HTTPS کار نمی‌کند، بررسی کنید که گروه امنیتی پورت ۴۴۳ را به درستی آزاد کرده است.',
        SSLConfig: 'تنظیمات گواهی',
        SSLProConfig: 'تنظیمات پروتکل',
        supportProtocol: 'نسخه پروتکل',
        encryptionAlgorithm: 'الگوریتم رمزگذاری',
        notSecurity: '(ناامن)',
        encryptHelper:
            "Let's Encrypt محدودیت فرکانسی برای صدور گواهی دارد، اما برای رفع نیازهای عادی کافی است. عملیات بسیار مکرر باعث شکست صدور می‌شود. برای محدودیت‌های خاص، <a target='_blank' href='https://letsencrypt.org/zh-cn/docs /rate-limits/'>مستندات رسمی</a> را ببینید",
        ipValue: 'مقدار',
        wafValueHelper: 'مقدار',
        ext: 'پسوند فایل',
        wafInputHelper: 'داده‌ها را خط به خط وارد کنید، هر خط یک ورودی',
        data: 'داده',
        ever: 'دائمی',
        nextYear: 'یک سال بعد',
        noLog: 'هیچ لاگی یافت نشد',
        defaultServer: 'تنظیم سایت پیش‌فرض',
        noDefaultServer: 'تنظیم نشده',
        defaultServerHelper:
            'پس از تنظیم سایت پیش‌فرض، همه دامنه‌ها و IP‌های متصل نشده به سایت پیش‌فرض تغییر مسیر داده می‌شوند\nاین می‌تواند به طور مؤثر از تحلیل مخرب جلوگیری کند\nبا این حال، همچنین باعث می‌شود که رهگیری دامنه غیرمجاز WAF از کار بیفتد',
        restoreHelper: 'آیا مطمئن هستید که می‌خواهید با استفاده از این پشتیبان بازیابی کنید؟',
        websiteDeploymentHelper: 'برای ایجاد وب‌سایت از یک برنامه نصب شده استفاده کنید یا یک برنامه جدید ایجاد کنید.',
        websiteStatictHelper: 'یک دایرکتوری وب‌سایت روی میزبان ایجاد کنید.',
        websiteProxyHelper:
            'برای پراکسی کردن سرویس موجود از پراکسی معکوس استفاده کنید. به عنوان مثال، اگر سرویسی روی پورت ۸۰۸۰ نصب و اجرا می‌شود، آدرس پراکسی "http://127.0.0.1:8080" خواهد بود.',
        runtimeProxyHelper: 'برای ایجاد وب‌سایت از یک محیط اجرای وب‌سایت استفاده کنید.',
        runtime: 'محیط اجرا',
        deleteRuntimeHelper: 'برنامه محیط اجرا باید همراه با وب‌سایت حذف شود، لطفاً با احتیاط رفتار کنید',
        proxyType: 'نوع شبکه',
        unix: 'شبکه یونیکس',
        tcp: 'شبکه TCP/IP',
        phpFPM: 'پیکربندی FPM',
        phpConfig: 'پیکربندی PHP',
        updateConfig: 'به‌روزرسانی پیکربندی',
        isOn: 'روشن',
        isOff: 'خاموش',
        rewrite: 'شبه استاتیک',
        rewriteMode: 'طرح',
        current: 'فعلی',
        rewriteHelper: 'اگر تنظیم شبه استاتیک باعث غیرقابل دسترس شدن وب‌سایت شد، سعی کنید به تنظیمات پیش‌فرض بازگردید.',
        runDir: 'دایرکتوری اجرا',
        runUserHelper:
            'برای وب‌سایت‌های مستقر شده از طریق محیط اجرای کانتینر PHP، باید مالک و گروه کاربری همه فایل‌ها و پوشه‌های زیر ایندکس و زیردایرکتوری‌ها را روی ۱۰۰۰ تنظیم کنید. برای محیط PHP محلی، به تنظیمات کاربر و گروه کاربری PHP-FPM محلی مراجعه کنید',
        userGroup: 'کاربر/گروه',
        uGroup: 'گروه',
        proxyPath: 'مسیر پراکسی',
        proxyPass: 'URL هدف',
        cache: 'کش',
        cacheTime: 'مدت زمان کش',
        enableCache: 'کش',
        proxyHost: 'میزبان پراکسی',
        disabled: 'متوقف شده',
        startProxy: 'این کار پراکسی معکوس را شروع می‌کند. ادامه می‌دهید؟',
        stopProxy: 'این کار پراکسی معکوس را متوقف می‌کند. ادامه می‌دهید؟',
        sourceFile: 'مشاهده منبع',
        proxyHelper1: 'هنگام دسترسی به این دایرکتوری، محتوای URL هدف بازگردانده شده و نمایش داده می‌شود.',
        proxyPassHelper: 'URL هدف باید معتبر و قابل دسترس باشد.',
        proxyHostHelper: 'نام دامنه را در هدر درخواست به سرور پراکسی ارسال کنید.',
        modifier: 'قوانین تطابق',
        modifierHelper: 'مثال: "=" تطابق دقیق، "~" تطابق منظم، "^~" تطابق ابتدای مسیر و غیره.',
        replace: 'جایگزینی متن',
        replaceHelper:
            'ویژگی جایگزینی متن nginx امکان جایگزینی رشته در محتوای پاسخ در حین پراکسی معکوس را فراهم می‌کند. معمولاً برای تغییر لینک‌ها، آدرس‌های API و غیره در فایل‌های HTML، CSS، JavaScript و سایر فایل‌های برگشتی از بک‌اند استفاده می‌شود. از تطابق عبارات منظم برای نیازهای پیچیده جایگزینی محتوا پشتیبانی می‌کند.',
        addReplace: 'افزودن',
        replaced: 'رشته جستجو (نمی‌تواند خالی باشد)',
        replaceText: 'رشته جایگزین',
        replacedErr: 'رشته جستجو نمی‌تواند خالی باشد',
        replacedErr2: 'رشته جستجو نمی‌تواند تکراری باشد',
        replacedListEmpty: 'هیچ قانون جایگزینی متنی وجود ندارد',
        proxySslName: 'نام SNI پراکسی',
        basicAuth: 'احراز هویت پایه',
        editBasicAuthHelper:
            'رمز عبور به صورت نامتقارن رمزگذاری شده است و قابل بازگشت نیست. ویرایش نیاز به بازنشانی رمز عبور دارد',
        antiLeech: 'ضد دزدی',
        extends: 'پسوند',
        browserCache: 'کش مرورگر',
        noModify: 'بدون تغییر',
        serverCache: 'کش سرور',
        leechLog: 'ثبت لاگ ضد دزدی',
        accessDomain: 'دامنه‌های مجاز',
        leechReturn: 'منبع پاسخ',
        noneRef: 'اجازه ارجاع دهنده خالی',
        disable: 'فعال نشده',
        disableLeechHelper: 'آیا ضد دزدی غیرفعال شود؟',
        disableLeech: 'غیرفعال‌سازی ضد دزدی',
        ipv6: 'شنود IPv6',
        leechReturnError: 'کد وضعیت HTTP را پر کنید',
        blockedRef: 'اجازه Referer غیر استاندارد',
        accessControl: 'کنترل ضد دزدی',
        leechcacheControl: 'کنترل کش',
        logEnableControl: 'ثبت درخواست‌های منابع استاتیک',
        leechSpecialValidHelper:
            "هنگامی که 'اجازه Referer خالی' فعال باشد، درخواست‌های بدون Referer (دسترسی مستقیم و غیره) مسدود نمی‌شوند؛ فعال‌سازی 'اجازه Referer غیر استاندارد' به هر Referer که با http/https شروع نمی‌شود اجازه می‌دهد (درخواست‌های مشتری و غیره).",
        leechInvalidReturnHelper: 'کد وضعیت HTTP بازگردانده شده پس از مسدودسازی درخواست‌های دزدی',
        leechlogControlHelper:
            'درخواست‌های منابع استاتیک را ثبت می‌کند؛ معمولاً در محیط تولید غیرفعال می‌شود تا از لاگ‌های بیش از حد و مزاحم جلوگیری شود',
        selectAcme: 'انتخاب حساب Acme',
        imported: 'ایجاد دستی',
        importType: 'نوع واردات',
        pasteSSL: 'چسباندن کد',
        localSSL: 'انتخاب فایل سرور',
        privateKeyPath: 'فایل کلید خصوصی',
        certificatePath: 'فایل گواهی',
        ipWhiteListHelper: 'نقش لیست سفید IP: همه قوانین برای IP‌های موجود در لیست سفید نامعتبر هستند',
        redirect: 'تغییر مسیر',
        sourceDomain: 'دامنه منبع',
        targetURL: 'آدرس URL هدف',
        keepPath: 'پارامترهای URI',
        path: 'مسیر',
        redirectType: 'نوع تغییر مسیر',
        redirectWay: 'روش',
        keep: 'نگهداری',
        notKeep: 'عدم نگهداری',
        redirectRoot: 'تغییر مسیر به صفحه اصلی',
        redirectHelper: 'تغییر مسیر دائمی ۳۰۱، تغییر مسیر موقت ۳۰۲',
        changePHPVersionWarn: 'این عملیات قابل بازگشت نیست، ادامه می‌دهید؟',
        changeVersion: 'تغییر نسخه',
        retainConfig: 'آیا فایل‌های php-fpm.conf و php.ini نگهداری شوند',
        runDirHelper2: 'لطفاً اطمینان حاصل کنید که دایرکتوری اجرای ثانویه در زیر دایرکتوری ایندکس قرار دارد',
        openrestyHelper:
            'پورت HTTP پیش‌فرض OpenResty: {0} پورت HTTPS: {1}، که ممکن است بر دسترسی به دامنه وب‌سایت و تغییر مسیر اجباری HTTPS تأثیر بگذارد',
        primaryDomainHelper: 'مثال: example.com یا example.com:8080',
        acmeAccountType: 'نوع حساب',
        keyType: 'الگوریتم کلید',
        tencentCloud: 'تنسنت کلود',
        containWarn: 'دامنه شامل دامنه اصلی است، دوباره وارد کنید',
        rewriteHelper2:
            'برنامه‌هایی مانند وردپرس نصب شده از فروشگاه برنامه معمولاً دارای پیکربندی شبه استاتیک از پیش تنظیم هستند. پیکربندی مجدد آنها ممکن است منجر به خطا شود.',
        websiteBackupWarn:
            'فقط واردات پشتیبان‌های محلی پشتیبانی می‌شود، واردات پشتیبان از ماشین‌های دیگر ممکن است باعث شکست بازیابی شود',
        ipWebsiteWarn:
            'وب‌سایت‌هایی با IP به عنوان دامنه باید به عنوان سایت پیش‌فرض تنظیم شوند تا به طور عادی قابل دسترسی باشند.',
        hstsHelper: 'فعال‌سازی HSTS می‌تواند امنیت وب‌سایت را افزایش دهد',
        includeSubDomains: 'زیردامنه‌ها',
        hstsIncludeSubDomainsHelper: 'پس از فعال‌سازی، خط مشی HSTS برای همه زیردامنه‌های دامنه فعلی اعمال می‌شود.',
        defaultHtml: 'تنظیم صفحه پیش‌فرض',
        website404: 'صفحه خطای ۴۰۴ وب‌سایت',
        domain404: 'صفحه وب‌سایت وجود ندارد',
        indexHtml: 'صفحه پیش‌فرض وب‌سایت استاتیک',
        stopHtml: 'صفحه توقف وب‌سایت',
        indexPHP: 'صفحه پیش‌فرض وب‌سایت PHP',
        sslExpireDate: 'تاریخ انقضای SSL',
        website404Helper:
            'صفحه خطای ۴۰۴ وب‌سایت فقط برای وب‌سایت‌های محیط اجرای PHP و وب‌سایت‌های استاتیک پشتیبانی می‌شود',
        sni: 'SNI مبدا',
        sniHelper:
            'زمانی که بک‌اند پراکسی معکوس HTTPS باشد، ممکن است نیاز به تنظیم SNI مبدا داشته باشید. برای جزئیات به مستندات ارائه‌دهنده سرویس CDN مراجعه کنید.',
        proxySslVerify: 'تأیید گواهی SSL بک‌اند',
        proxySslVerifyHelper:
            'هنگام فعال‌سازی، پراکسی به طور دقیق گواهی SSL بالادست را تأیید می‌کند (به طور پیش‌فرض غیرفعال است).',
        huaweicloud: 'هوآوی کلود',
        createDb: 'ایجاد پایگاه داده',
        enableSSLHelper: 'عدم فعال‌سازی بر ایجاد وب‌سایت تأثیری نمی‌گذارد',
        batchAdd: 'افزودن دسته‌ای دامنه‌ها',
        batchInput: 'ورودی دسته‌ای',
        domainNotFQDN: 'این دامنه ممکن است در شبکه عمومی قابل دسترسی نباشد',
        domainInvalid: 'فرمت دامنه نامعتبر است',
        domainBatchHelper: 'هر خط یک دامنه، فرمت: domain:port@ssl\nمثال: example.com:443@ssl یا example.com',
        generateDomain: 'تولید',
        global: 'جهانی',
        subsite: 'زیرسایت',
        subsiteHelper:
            'یک زیرسایت می‌تواند یک دایرکتوری وب‌سایت PHP یا استاتیک موجود را به عنوان دایرکتوری اصلی انتخاب کند.',
        parentWbeiste: 'وب‌سایت والد',
        deleteSubsite: 'برای حذف وب‌سایت فعلی، ابتدا باید زیرسایت‌های {0} را حذف کنید',
        loadBalance: 'تعادل بار',
        server: 'سرور',
        algorithm: 'الگوریتم',
        ipHash: 'هش IP',
        ipHashHelper:
            'درخواست‌ها را بر اساس آدرس IP مشتری به یک سرور خاص توزیع می‌کند و تضمین می‌کند که یک مشتری خاص همیشه به همان سرور هدایت شود.',
        leastConn: 'کمترین اتصال',
        leastConnHelper: 'درخواست‌ها را به سروری با کمترین اتصال فعال ارسال می‌کند.',
        leastTime: 'کمترین زمان',
        leastTimeHelper: 'درخواست‌ها را به سروری با کوتاه‌ترین زمان اتصال فعال ارسال می‌کند.',
        defaultHelper:
            'روش پیش‌فرض، درخواست‌ها به طور مساوی بین هر سرور توزیع می‌شوند. اگر سرورها وزن‌هایی پیکربندی شده باشند، درخواست‌ها بر اساس وزن‌های مشخص شده توزیع می‌شوند و سرورهای با وزن بالاتر درخواست‌های بیشتری دریافت می‌کنند.',
        weight: 'وزن',
        maxFails: 'حداکثر شکست',
        maxConns: 'حداکثر اتصالات',
        strategy: 'استراتژی',
        strategyDown: 'پایین',
        strategyBackup: 'پشتیبان',
        ipHashBackupErr: 'هش IP از گره‌های پشتیبان پشتیبانی نمی‌کند',
        failTimeout: 'مهلت شکست',
        failTimeoutHelper:
            'طول پنجره زمانی برای بررسی سلامت سرور. هنگامی که تعداد شکست‌های تجمعی در این دوره به آستانه می‌رسد، سرور به طور موقت حذف شده و پس از همان مدت دوباره تلاش می‌شود. پیش‌فرض ۱۰ ثانیه',
        staticChangePHPHelper: 'در حال حاضر یک وب‌سایت استاتیک است، می‌توانید به وب‌سایت PHP تغییر دهید',
        proxyCache: 'کش پراکسی معکوس',
        cacheLimit: 'محدودیت فضای کش',
        shareCache: 'اندازه حافظه کش شمارش',
        cacheExpire: 'زمان انقضای کش',
        shareCacheHelper: 'تقریباً ۸۰۰۰ شیء کش در هر ۱ مگابایت حافظه قابل ذخیره است',
        cacheLimitHelper: 'کش قدیمی در صورت تجاوز از حد به طور خودکار حذف می‌شود',
        cacheExpireJHelper: 'کش در صورت عدم بازدید پس از زمان انقضا حذف می‌شود',
        realIP: 'IP واقعی',
        ipFrom: 'منبع IP',
        ipFromHelper:
            'با پیکربندی منابع IP قابل اعتماد، OpenResty اطلاعات IP را در هدرهای HTTP تجزیه و تحلیل می‌کند، آدرس IP واقعی بازدیدکنندگان را به طور دقیق شناسایی و ثبت می‌کند، از جمله در لاگ‌های دسترسی',
        ipFromExample1: 'اگر فرانت‌اند ابزاری مانند Frp است، می‌توانید آدرس IP Frp را وارد کنید، مثلاً 127.0.0.1',
        ipFromExample2: 'اگر فرانت‌اند CDN است، می‌توانید محدوده آدرس IP CDN را وارد کنید',
        ipFromExample3:
            'اگر مطمئن نیستید، می‌توانید 0.0.0.0/0 (ipv4) ::/0 (ipv6) را وارد کنید [توجه: اجازه هر منبع IP ناامن است]',
        http3Helper:
            'HTTP/3 یک ارتقاء نسبت به HTTP/2 است که سرعت اتصال سریع‌تر و عملکرد بهتر را ارائه می‌دهد، اما همه مرورگرها از HTTP/3 پشتیبانی نمی‌کنند. فعال‌سازی آن ممکن است باعث شود برخی مرورگرها نتوانند به سایت دسترسی داشته باشند.',
        cors: 'CORS',
        enableCors: 'فعال‌سازی CORS',
        allowOrigins: 'دامنه‌های مجاز',
        allowMethods: 'روش‌های درخواست مجاز',
        allowHeaders: 'هدرهای درخواست مجاز',
        allowCredentials: 'اجازه ارسال کوکی‌ها',
        preflight: 'پاسخ سریع به درخواست پیش‌پرواز',
        preflightHleper:
            'هنگام فعال‌سازی، هنگامی که مرورگر یک درخواست پیش‌پرواز بین‌منبعی (درخواست OPTIONS) ارسال می‌کند، سیستم به طور خودکار یک کد وضعیت ۲۰۴ بازگردانده و هدرهای پاسخ متقاطع لازم را تنظیم می‌کند',
        changeDatabase: 'تغییر پایگاه داده',
        changeDatabaseHelper1: 'ارتباط پایگاه داده برای پشتیبان‌گیری و بازیابی وب‌سایت استفاده می‌شود.',
        changeDatabaseHelper2: 'تغییر به پایگاه داده دیگر باعث می‌شود پشتیبان‌های قبلی قابل بازیابی نباشند.',
        saveCustom: 'ذخیره به عنوان قالب',
        rainyun: 'Rain Yun',
        volcengine: 'Volcengine',
        runtimePortHelper: 'محیط اجرای فعلی دارای چندین پورت است. یک پورت پراکسی انتخاب کنید.',
        runtimePortWarn: 'محیط اجرای فعلی هیچ پورتی ندارد، قادر به پراکسی نیست',
        cacheWarn: 'لطفاً ابتدا کلید کش را در پراکسی معکوس خاموش کنید',
        loadBalanceHelper:
            'پس از ایجاد تعادل بار، به "پراکسی معکوس" بروید، یک پراکسی اضافه کرده و آدرس بک‌اند را به: http://<نام تعادل بار> تنظیم کنید',
        useProxy: 'استفاده از پراکسی',
        useProxyHelper: 'از آدرس سرور پراکسی در تنظیمات پنل استفاده کنید',
        westCN: 'وست دیجیتال',
        openBaseDir: 'جلوگیری از حملات بین‌سایتی',
        openBaseDirHelper:
            'open_basedir برای محدود کردن مسیر دسترسی فایل PHP استفاده می‌شود که به جلوگیری از دسترسی بین‌سایتی و افزایش امنیت کمک می‌کند',
        serverCacheTime: 'زمان کش سرور',
        serverCacheTimeHelper:
            'زمانی که یک درخواست در سرور کش می‌شود. در این مدت، درخواست‌های یکسان بدون درخواست از سرور مبدا، نتیجه کش شده را برمی‌گردانند.',
        browserCacheTime: 'زمان کش مرورگر',
        browserCacheTimeHelper:
            'زمانی که منابع استاتیک به صورت محلی در مرورگر کش می‌شوند و درخواست‌های اضافی را کاهش می‌دهند. کاربران هنگام بازخوانی صفحه قبل از انقضا از کش محلی استفاده می‌کنند.',
        donotLinkeDB: 'اتصال به پایگاه داده انجام نشود',
        toWebsiteDir: 'ورود به دایرکتوری وب‌سایت',
        execParameters: 'پارامترهای اجرا',
        extCommand: 'دستور تکمیلی',
        mirror: 'منبع آینه',
        execUser: 'کاربر اجراکننده',
        execDir: 'دایرکتوری اجرا',
        packagist: 'آینه کامل چین',
        batchOperate: 'عملیات دسته‌ای',
        batchOperateHelper: 'عملیات دسته‌ای {0} وب‌سایت، ادامه عملیات؟',
        stream: 'پراکسی TCP/UDP',
        streamPorts: 'پورت‌های شنود',
        streamPortsHelper:
            'پورت شماره گوش دادن خارجی را تنظیم کنید، کلاینت‌ها از طریق این پورت به سرویس دسترسی خواهند داشت، با کاما جدا کنید، مثلاً 5222,5223',
        streamHelper: 'انتقال پورت TCP/UDP و تعادل بار',
        udp: 'فعال‌سازی UDP',
        syncHtmlHelper: 'همگام‌سازی با وب‌سایت‌های PHP و استاتیک',
    },
    php: {
        short_open_tag: 'پشتیبانی از برچسب کوتاه',
        max_execution_time: 'حداکثر زمان اجرای اسکریپت',
        max_input_time: 'حداکثر زمان ورودی',
        memory_limit: 'محدودیت حافظه اسکریپت',
        post_max_size: 'حداکثر اندازه داده POST',
        file_uploads: 'آیا اجازه بارگذاری فایل داده شود',
        upload_max_filesize: 'حداکثر اندازه مجاز برای بارگذاری فایل',
        max_file_uploads: 'حداکثر تعداد فایل‌های مجاز برای بارگذاری همزمان',
        default_socket_timeout: 'مهلت سوکت',
        error_reporting: 'سطح خطا',
        display_errors: 'آیا اطلاعات دقیق خطا نمایش داده شود',
        cgi_fix_pathinfo: 'آیا pathinfo باز شود',
        date_timezone: 'منطقه زمانی',
        disableFunction: 'غیرفعال‌سازی تابع',
        disableFunctionHelper:
            'تابعی که باید غیرفعال شود را وارد کنید، مانند exec، لطفاً چندین مورد را با کاما جدا کنید',
        uploadMaxSize: 'محدودیت بارگذاری',
        indexHelper:
            'برای اطمینان از عملکرد عادی وب‌سایت PHP، لطفاً کد را در دایرکتوری index قرار دهید و از تغییر نام خودداری کنید',
        extensions: 'قالب‌های پسوند',
        extension: 'پسوند',
        extensionsHelper: 'برای چندین پسوند، با کاما جدا کنید',
        extensionHelper: 'لطفاً چندین پسوند را با کاما جدا کنید',
        toExtensionsList: 'مشاهده لیست پسوندها',
        containerConfig: 'پیکربندی کانتینر',
        containerConfigHelper:
            'متغیرهای محیطی و سایر اطلاعات را می‌توان در پیکربندی - پیکربندی کانتینر پس از ایجاد تغییر داد',
        dateTimezoneHelper: 'مثال: TZ=Asia/Shanghai (در صورت نیاز اضافه کنید)',
    },
    nginx: {
        serverNamesHashBucketSizeHelper: 'اندازه جدول هش نام سرور',
        clientHeaderBufferSizeHelper: 'اندازه بافر هدر درخواست مشتری',
        clientMaxBodySizeHelper: 'حداکثر آپلود فایل',
        keepaliveTimeoutHelper: 'مهلت اتصال',
        gzipMinLengthHelper: 'حداقل فایل فشرده',
        gzipCompLevelHelper: 'نرخ فشرده‌سازی',
        gzipHelper: 'فعال‌سازی فشرده‌سازی برای انتقال',
        connections: 'اتصال‌های فعال',
        accepts: 'پذیرش‌ها',
        handled: 'مدیریت شده',
        requests: 'درخواست‌ها',
        reading: 'در حال خواندن',
        writing: 'در حال نوشتن',
        waiting: 'در انتظار',
        status: 'وضعیت فعلی',
        configResource: 'پیکربندی',
        saveAndReload: 'ذخیره و بارگذاری مجدد',
        clearProxyCache: 'پاک‌سازی کش پراکسی معکوس',
        clearProxyCacheWarn: 'این عمل همه فایل‌های موجود در دایرکتوری کش را حذف می‌کند. ادامه می‌دهید؟',
        create: 'افزودن یک ماژول جدید',
        update: 'ویرایش یک ماژول',
        params: 'پارامترها',
        packages: 'بسته‌ها',
        script: 'اسکریپت‌ها',
        module: 'ماژول‌ها',
        build: 'ساخت',
        buildWarn:
            'ساخت محلی ماژول‌ها به CPU و حافظه نیاز دارد. ماژول‌های ایستا OpenResty را دوباره می‌سازند و راه‌اندازی مجدد می‌کنند. ادامه می‌دهید؟',
        buildPurposeHint:
            'ماژول‌های پویا پس از ساخت با بارگذاری گرم اعمال می‌شوند (بدون راه‌اندازی مجدد کانتینر)؛ در صورت وجود ماژول ایستا، ایمیج به‌طور کامل بازسازی و کانتینر دوباره ساخته می‌شود',
        buildMode: 'حالت ساخت',
        buildModeDynamic: 'پویا',
        buildModeStatic: 'ایستا',
        buildStatus: 'وضعیت ساخت',
        loadOrder: 'ترتیب بارگذاری',
        modulesToBuild: 'ماژول‌های پویا (بارگذاری گرم پس از ساخت، بدون راه‌اندازی مجدد کانتینر)',
        staticModules: 'ماژول‌های ایستا',
        staticModulesHelper: 'هنگام ساخت، همه ماژول‌ها بازسازی شده و OpenResty راه‌اندازی مجدد می‌شود',
        forceBuild: 'ساخت مجدد بدون کش',
        buildFailed: 'آخرین ساخت ناموفق بود',
        pending: 'در انتظار',
        ready: 'آماده',
        failed: 'ناموفق',
        dynamicUnsupported: 'ساخت پویا در نسخه فعلی OpenResty پشتیبانی نمی‌شود',
        moduleDynamicUnsupported: 'پارامترهای این ماژول از ساخت پویا پشتیبانی نمی‌کنند',
        mirrorUrl: 'منبع نرم‌افزار',
        paramsHelper: 'مثال: --add-module=/tmp/ngx_brotli؛ حالت پویا به‌طور خودکار تبدیل می‌کند',
        packagesHelper: 'مثال: git, curl (با کاما جدا کنید)',
        scriptHelper:
            'اسکریپت‌هایی که قبل از کامپایل اجرا می‌شوند، معمولاً برای دانلود کد منبع ماژول، نصب وابستگی‌ها و غیره.',
        buildHelper:
            'ماژول‌های پویا پس از ساخت از طریق پیکربندی بارگذاری می‌شوند؛ ماژول‌های ایستا همچنان OpenResty را دوباره می‌سازند.',
        defaultHttps: 'ضد دستکاری HTTPS',
        defaultHttpsHelper1: 'فعال‌سازی این گزینه می‌تواند مشکلات دستکاری HTTPS را حل کند.',
        sslRejectHandshake: 'رد دست دادن SSL پیش‌فرض',
        sslRejectHandshakeHelper:
            'فعال‌سازی این گزینه می‌تواند از نشت گواهی جلوگیری کند، تنظیم یک وب‌سایت پیش‌فرض این تنظیم را بی‌اثر می‌کند',
    },
    ssl: {
        create: 'درخواست',
        provider: 'نوع',
        manualCreate: 'ایجاد دستی',
        acmeAccount: 'حساب ACME',
        resolveDomain: 'تحلیل دامنه',
        err: 'خطا',
        value: 'مقدار رکورد',
        dnsResolveHelper: 'برای افزودن رکوردهای تحلیل زیر به ارائه‌دهنده خدمات تحلیل DNS بروید:',
        detail: 'مشاهده جزئیات',
        msg: 'اطلاعات',
        ssl: 'گواهی',
        key: 'کلید خصوصی',
        startDate: 'زمان اعتبار',
        organization: 'سازمان صادرکننده',
        renewConfirm: 'این کار یک گواهی جدید برای دامنه {0} تمدید می‌کند. ادامه می‌دهید؟',
        autoRenew: 'تمدید خودکار',
        autoRenewHelper: '۳۰ روز قبل از انقضا به طور خودکار تمدید می‌شود',
        renewSuccess: 'تمدید با موفقیت انجام شد',
        renewWebsite: 'این گواهی با وب‌سایت‌های زیر مرتبط است و به طور همزمان روی این وب‌سایت‌ها اعمال می‌شود',
        createAcme: 'ایجاد حساب',
        acmeHelper: 'حساب Acme برای درخواست گواهی‌های رایگان استفاده می‌شود',
        upload: 'واردات',
        applyType: 'روش درخواست',
        apply: 'تمدید',
        applyStart: 'درخواست گواهی شروع شد',
        getDnsResolve: 'دریافت مقدار تحلیل DNS، لطفاً صبر کنید...',
        selfSigned: 'مدیریت CA خود امضا',
        ca: 'مرجع گواهی',
        commonName: 'نام رایج',
        caName: 'نام مرجع گواهی',
        company: 'نام سازمان',
        department: 'نام واحد سازمانی',
        city: 'نام شهر',
        province: 'نام استان یا ایالت',
        country: 'نام کشور (کد دو حرفی)',
        commonNameHelper: 'مثلاً، ',
        selfSign: 'صدور گواهی',
        days: 'مدت اعتبار',
        domainHelper: 'هر خط یک نام دامنه، پشتیبانی از * و آدرس IP',
        pushDir: 'ارسال گواهی به دایرکتوری محلی',
        dir: 'دایرکتوری',
        pushDirHelper: 'فایل گواهی "fullchain.pem" و فایل کلید "privkey.pem" در این دایرکتوری تولید می‌شوند.',
        organizationDetail: 'جزئیات سازمان',
        fromWebsite: 'از وب‌سایت',
        dnsMauanlHelper:
            'در حالت تحلیل دستی، پس از ایجاد، باید روی دکمه درخواست کلیک کنید تا مقدار تحلیل DNS را دریافت کنید',
        httpHelper: 'استفاده از حالت HTTP نیاز به نصب OpenResty دارد و از درخواست گواهی دامنه عام پشتیبانی نمی‌کند.',
        buypassHelper: 'Buypass در سرزمین اصلی چین قابل دسترسی نیست',
        googleHelper: 'نحوه دریافت EAB HmacKey و EAB kid',
        googleCloudHelper: 'API گوگل کلود در بیشتر مناطق سرزمین اصلی چین قابل دسترسی نیست',
        skipDNSCheck: 'رد کردن بررسی DNS',
        skipDNSCheckHelper: 'فقط در صورت مواجهه با مشکل مهلت در حین درخواست گواهی، این گزینه را علامت بزنید.',
        cfHelper: 'از Global API Key استفاده نکنید',
        deprecated: 'منسوخ خواهد شد',
        deprecatedHelper:
            'نگهداری متوقف شده است و ممکن است در نسخه آینده کنار گذاشته شود. لطفاً از روش تنسنت کلود برای تحلیل استفاده کنید',
        dnsPodRemoved: 'حذف شده',
        dnsPodRemovedTip:
            'DnsPod در lego v5 حذف شده است؛ این حساب نمی‌تواند برای گواهی‌های جدید یا تمدید استفاده شود. لطفاً به حساب DNS تنسنت کلود تغییر دهید.',
        dnsPodRemovedSSLTip:
            'این گواهی به یک حساب DNS DnsPod متصل است که دیگر در lego v5 قابل استفاده نیست. تمدید خودکار شکست خواهد خورد. لطفاً حساب DNS را به تنسنت کلود تغییر دهید.',
        disableCNAME: 'غیرفعال‌سازی CNAME',
        disableCNAMEHelper: 'در صورت وجود رکورد CNAME برای دامنه و شکست درخواست، این گزینه را علامت بزنید.',
        nameserver: 'سرور DNS',
        nameserverHelper: 'از یک سرور DNS سفارشی برای تأیید دامنه استفاده کنید.',
        edit: 'ویرایش گواهی',
        execShell: 'پس از درخواست گواهی، اسکریپت را اجرا کنید.',
        shell: 'محتوای اسکریپت',
        shellHelper:
            'دایرکتوری اجرای پیش‌فرض اسکریپت، دایرکتوری نصب 1Panel است. در صورت ارسال گواهی به دایرکتوری محلی، دایرکتوری اجرا، دایرکتوری ارسال گواهی خواهد بود. مهلت اجرای پیش‌فرض ۳۰ دقیقه است.',
        customAcme: 'سرویس ACME سفارشی',
        customAcmeURL: 'URL سرویس ACME',
        baiduCloud: 'بایدو کلود',
        pushNode: 'همگام‌سازی با سایر گره‌ها',
        pushNodeHelper: 'پس از درخواست/تمدید به گره‌های انتخاب شده ارسال کنید',
        fromMaster: 'ارسال از گره اصلی',
        hostedZoneID: 'شناسه منطقه میزبان',
        isIP: 'گواهی IP',
        useEAB: 'استفاده از احراز هویت EAB',
    },
    firewall: {
        create: 'ایجاد قانون',
        edit: 'ویرایش قانون',
        advancedControl: 'کنترل پیشرفته',
        advancedControlNotAvailable:
            'در حال حاضر از دیواره آتش {0} استفاده می‌شود، قوانین پیشرفته فقط از iptables پشتیبانی می‌کنند',
        ccDeny: 'محافظت CC',
        ipWhiteList: 'لیست سفید IP',
        ipBlockList: 'لیست سیاه IP',
        fileExtBlockList: 'لیست سیاه پسوند فایل',
        urlWhiteList: 'لیست سفید URL',
        urlBlockList: 'لیست سیاه URL',
        argsCheck: 'بررسی پارامتر GET',
        postCheck: 'بررسی پارامتر POST',
        cookieBlockList: 'لیست سیاه کوکی',
        dockerHelper:
            'دیواره آتش فعلی نمی‌تواند نگاشت پورت کانتینر را غیرفعال کند. برنامه‌های نصب شده می‌توانند به صفحه [نصب شده] بروند تا پارامترهای برنامه را ویرایش کرده و قوانین انتشار پورت را پیکربندی کنند.',
        iptablesHelper:
            'تشخیص داده شد که سیستم از دیواره آتش {0} استفاده می‌کند. برای تغییر به iptables، لطفاً ابتدا آن را به صورت دستی حذف کنید!',
        quickJump: 'دسترسی سریع',
        used: 'استفاده شده',
        unUsed: 'استفاده نشده',
        dockerRestart: 'عملیات دیواره آتش نیاز به راه‌اندازی مجدد سرویس Docker دارد',
        firewallHelper: 'دیواره آتش سیستم {0}',
        firewallNotStart: 'دیواره آتش سیستم در حال حاضر فعال نیست. ابتدا آن را فعال کنید.',
        restartFirewallHelper: 'این عملیات دیواره آتش فعلی را مجدداً راه‌اندازی می‌کند. ادامه می‌دهید؟',
        stopFirewallHelper: 'این کار باعث می‌شود سرور حفاظت امنیتی را از دست بدهد. ادامه می‌دهید؟',
        startFirewallHelper: 'پس از فعال‌سازی دیواره آتش، امنیت سرور بهتر محافظت می‌شود. ادامه می‌دهید؟',
        noPing: 'غیرفعال‌سازی ping',
        enableBanPing: 'مسدود کردن Ping',
        disableBanPing: 'رفع مسدودیت Ping',
        noPingTitle: 'غیرفعال‌سازی ping',
        noPingHelper: 'این کار ping را غیرفعال می‌کند و سرور به پاسخ ICMP پاسخ نمی‌دهد. ادامه می‌دهید؟',
        onPingHelper: 'این کار ping را فعال می‌کند و هکرها ممکن است سرور شما را کشف کنند. ادامه می‌دهید؟',
        changeStrategy: 'تغییر استراتژی {0}',
        changeStrategyIPHelper1:
            'تغییر استراتژی آدرس IP به [رد]. پس از تنظیم IP، دسترسی به سرور ممنوع می‌شود. ادامه می‌دهید؟',
        changeStrategyIPHelper2:
            'تغییر استراتژی آدرس IP به [اجازه]. پس از تنظیم IP، دسترسی عادی بازمی‌گردد. ادامه می‌دهید؟',
        changeStrategyPortHelper1:
            'تغییر استراتژی پورت به [رد]. پس از تنظیم، دسترسی خارجی ممنوع می‌شود. ادامه می‌دهید؟',
        changeStrategyPortHelper2:
            'تغییر استراتژی پورت به [پذیرش]. پس از تنظیم، دسترسی عادی به پورت بازمی‌گردد. ادامه می‌دهید؟',
        stop: 'متوقف کردن',
        portFormatError: 'این فیلد باید یک پورت معتبر باشد.',
        portHelper1: 'چندین پورت، مثلاً 8080 و 8081',
        portHelper2: 'محدوده پورت، مثلاً 8080-8089',
        changeStrategyHelper:
            'تغییر استراتژی [{1}] {0} به [{2}]. پس از تنظیم، {0} به صورت {2} به بیرون دسترسی خواهد داشت. ادامه می‌دهید؟',
        strategy: 'استراتژی',
        accept: 'پذیرش',
        drop: 'رد',
        anyWhere: 'هر جا',
        address: 'IP‌های مشخص',
        addressHelper: 'پشتیبانی از آدرس IP یا محدوده IP',
        allow: 'اجازه',
        deny: 'رد',
        addressFormatError: 'این فیلد باید یک آدرس IP معتبر باشد.',
        addressHelper1: 'پشتیبانی از آدرس IP یا محدوده IP. مثلاً "172.16.10.11" یا "172.16.10.0/24".',
        addressHelper2: 'برای چندین آدرس IP، با کاما جدا کنید. مثلاً "172.16.10.11, 172.16.0.0/24".',
        allIP: 'همه IP',
        portRule: 'قانون پورت | قوانین پورت',
        forwardRule: 'قانون انتقال پورت | قوانین انتقال پورت',
        ipRule: 'قانون IP | قوانین IP',
        userAgent: 'فیلتر User-Agent',
        destination: 'مقصد',
        sourcePort: 'پورت مبدأ',
        targetIP: 'IP مقصد',
        targetPort: 'پورت مقصد',
        forwardHelper1: 'اگر می‌خواهید به پورت محلی انتقال دهید، آدرس مقصد باید "127.0.0.1" تنظیم شود.',
        forwardHelper2: 'آدرس مقصد را خالی بگذارید تا به پورت محلی انتقال دهید.',
        forwardPortHelper: 'پشتیبانی از محدوده پورت، مثلاً 8080-8089',
        forwardInboundInterface: 'رابط شبکه ورودی انتقال',
        exportHelper: 'در حال خروجی {0} قوانین دیواره آتش. ادامه می‌دهید؟',
        importSuccess: 'واردات {0} قانون با موفقیت انجام شد',
        importPartialSuccess: 'واردات انجام شد: {0} موفق، {1} ناموفق',
        ipv4Limit: 'عملیات فعلی فقط از آدرس‌های IPv4 پشتیبانی می‌کند',
        basicStatus: 'زنجیره فعلی {0} متصل نیست، لطفاً ابتدا آن را متصل کنید!',
        baseIptables: 'سرویس iptables',
        forwardIptables: 'سرویس انتقال پورت iptables',
        advanceIptables: 'سرویس پیکربندی پیشرفته iptables',
        initMsg: 'در حال راه‌اندازی {0}، ادامه می‌دهید؟',
        initHelper:
            'تشخیص داده شد که {0} راه‌اندازی نشده است. برای پیکربندی روی دکمه راه‌اندازی در نوار وضعیت بالا کلیک کنید!',
        bindHelper: 'اتصال - قوانین دیواره آتش فقط در صورت متصل بودن وضعیت اعمال می‌شوند. تأیید می‌کنید؟',
        unbindHelper:
            'قطع اتصال - در صورت قطع اتصال، همه قوانین دیواره آتش اضافه شده بی‌اثر می‌شوند. با احتیاط ادامه دهید. تأیید می‌کنید؟',
        whiteList: 'لیست سفید',
        portWhiteList: 'لیست سفید پورت',
        portWhiteListAlter:
            'پورت‌های موجود در لیست سفید هنگام راه‌اندازی یا شروع دیواره آتش به طور خودکار باز می‌شوند.',
        portWhiteListHelper:
            'پروتکل را می‌توان مشخص کرد، مثلاً 80/tcp یا 443/udp. در صورت عدم مشخص شدن، پیش‌فرض tcp است.',
        defaultStrategy: 'استراتژی پیش‌فرض برای زنجیره فعلی {0} برابر است با {1}',
        defaultStrategy2:
            'استراتژی پیش‌فرض برای زنجیره فعلی {0} برابر است با {1}، وضعیت فعلی قطع اتصال است. قوانین دیواره آتش اضافه شده پس از اتصال اعمال می‌شوند!',
        filterRule: 'قانون فیلتر',
        filterHelper:
            'قوانین فیلتر به شما امکان کنترل ترافیک شبکه در سطح INPUT/OUTPUT را می‌دهند. با احتیاط پیکربندی کنید تا از قفل شدن سیستم جلوگیری شود.',
        chain: 'زنجیره',
        targetChain: 'زنجیره هدف',
        sourceIP: 'IP مبدأ',
        destIP: 'IP مقصد',
        inboundDirection: 'جهت ورودی',
        outboundDirection: 'جهت خروجی',
        destPort: 'پورت مقصد',
        action: 'اقدام',
        reject: 'رد',
        sourceIPHelper: 'فرمت CIDR، مثلاً 192.168.1.0/24. برای همه آدرس‌ها خالی بگذارید',
        destIPHelper: 'فرمت CIDR، مثلاً 10.0.0.0/8. برای همه آدرس‌ها خالی بگذارید',
        portHelper: '۰ به معنای هر پورتی است',
        allPorts: 'همه پورت‌ها',
        deleteRuleConfirm: '{0} قانون حذف خواهند شد. ادامه می‌دهید؟',
    },
    runtime: {
        runtime: 'محیط اجرا',
        default: 'پیش‌فرض',
        workDir: 'دایرکتوری کاری',
        localHelper: 'برای مشکلات نصب محیط محلی و استفاده در محیط آفلاین، به ',
        versionHelper: 'نسخه PHP، مثلاً v8.0',
        buildHelper:
            'اگر پسوندهای بیشتری انتخاب شوند، استفاده از CPU در طول فرآیند ایجاد تصویر بیشتر خواهد بود. از انتخاب همه پسوندها خودداری کنید.',
        openrestyWarn: 'PHP نیاز به ارتقاء OpenResty به نسخه ۱.۲۱.۴.۱ یا بالاتر دارد تا استفاده شود',
        toupgrade: 'برای ارتقاء',
        edit: 'ویرایش محیط اجرا',
        extendHelper:
            'اگر پسوندهای مورد نیاز شما در لیست نیست، می‌توانید نام پسوند را به صورت دستی وارد کنید. مثلاً "sockets" را وارد کرده و سپس اولین مورد را انتخاب کنید.',
        rebuildHelper: 'پس از ویرایش پسوند، باید برنامه PHP را بازسازی کنید تا اعمال شود',
        rebuild: 'بازسازی برنامه PHP',
        source: 'منبع پسوند PHP',
        ustc: 'دانشگاه علم و فناوری چین',
        netease: 'نت‌ایز',
        aliyun: 'علی‌بابا',
        tsinghua: 'دانشگاه تسینگهوا',
        xtomhk: 'ایستگاه آینه XTOM (هنگ کنگ)',
        xtom: 'ایستگاه آینه XTOM (جهانی)',
        phpsourceHelper: 'با توجه به شرایط شبکه خود، منبع مناسبی را انتخاب کنید.',
        appPort: 'پورت برنامه',
        externalPort: 'پورت خارجی',
        packageManager: 'مدیر بسته',
        codeDir: 'دایرکتوری کد',
        appPortHelper: 'پورت استفاده شده توسط برنامه.',
        externalPortHelper: 'پورت نمایش داده شده به بیرون.',
        runScript: 'اسکریپت اجرا',
        runScriptHelper: 'لیست دستورات راه‌اندازی از فایل package.json در دایرکتوری منبع تجزیه می‌شود.',
        open: 'باز کردن',
        operatorHelper: 'عملیات {0} روی محیط اجرای انتخاب شده انجام خواهد شد. ادامه می‌دهید؟ ',
        taobao: 'تائوبائو',
        tencent: 'تنسنت',
        imageSource: 'منبع تصویر',
        moduleManager: 'مدیریت ماژول',
        module: 'ماژول',
        nodeOperatorHelper:
            'آیا {0} ماژول {1} است؟ عملیات ممکن است باعث ناهنجاری در محیط اجرا شود، قبل از ادامه تأیید کنید',
        customScript: 'دستور راه‌اندازی سفارشی',
        customScriptHelper:
            'دستور راه‌اندازی کامل را وارد کنید، مثلاً: npm run start. برای دستورات راه‌اندازی PM2، لطفاً با pm2-runtime جایگزین کنید، در غیر این صورت راه‌اندازی ناموفق خواهد بود.',
        portError: 'پورت تکراری نباشد.',
        systemRestartHelper: 'توضیح وضعیت: وقفه - به دلیل راه‌اندازی مجدد سیستم، وضعیت قابل دریافت نیست',
        javaScriptHelper: 'یک دستور راه‌اندازی کامل ارائه دهید. مثلاً "java -jar halo.jar -Xmx1024M -Xms256M".',
        javaDirHelper: 'دایرکتوری باید شامل فایل‌های jar باشد، زیردایرکتوری‌ها نیز مجاز هستند',
        goHelper: 'یک دستور راه‌اندازی کامل ارائه دهید. مثلاً "go run main.go" یا "./main".',
        goDirHelper: 'دایرکتوری یا زیردایرکتوری باید شامل فایل‌های Go یا باینری باشد.',
        extension: 'پسوند',
        installExtension: 'آیا نصب پسوند {0} تأیید می‌شود',
        loadedExtension: 'پسوند بارگذاری شده',
        popularExtension: 'پسوند محبوب',
        uninstallExtension: 'آیا مطمئن هستید که می‌خواهید پسوند {0} را حذف کنید',
        phpConfigHelper: 'تغییر پیکربندی نیاز به راه‌اندازی مجدد محیط اجرا دارد، آیا ادامه می‌دهید',
        operateMode: 'حالت عملیات',
        dynamic: 'پویا',
        static: 'ایستا',
        ondemand: 'بر اساس تقاضا',
        dynamicHelper:
            'تعداد فرآیندها را به صورت پویا تنظیم می‌کند، انعطاف‌پذیری بالا، مناسب برای وب‌سایت‌های با نوسانات ترافیک بالا یا حافظه کم',
        staticHelper: 'تعداد فرآیند ثابت، مناسب برای وب‌سایت‌های با هم‌روندی بالا و ترافیک پایدار، مصرف منابع بالا',
        ondemandHelper:
            'فرآیندها بر اساس تقاضا شروع و از بین می‌روند، استفاده از منابع بهینه است، اما پاسخ اولیه ممکن است کند باشد',
        max_children: 'حداکثر تعداد فرآیندهای مجاز برای ایجاد',
        start_servers: 'تعداد فرآیندهای ایجاد شده در زمان شروع',
        min_spare_servers: 'حداقل تعداد فرآیندهای بیکار',
        max_spare_servers: 'حداکثر تعداد فرآیندهای بیکار',
        envKey: 'نام',
        envValue: 'مقدار',
        environment: 'متغیر محیطی',
        pythonHelper:
            'یک دستور راه‌اندازی کامل ارائه دهید. مثلاً "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:5000".',
        dotnetHelper: 'یک دستور راه‌اندازی کامل ارائه دهید. مثلاً "dotnet MyWebApp.dll".',
        dirHelper: 'توجه: مسیر دایرکتوری داخل کانتینر را پر کنید',
        concurrency: 'طرح هم‌روندی',
        loadStatus: 'وضعیت بار',
        extraHosts: 'نگاشت میزبان',
    },
    process: {
        pid: 'شناسه فرآیند',
        ppid: 'شناسه فرآیند والد',
        numThreads: 'تعداد رشته‌ها',
        memory: 'حافظه',
        diskRead: 'خواندن دیسک',
        diskWrite: 'نوشتن دیسک',
        netSent: 'ارسال شبکه',
        netRecv: 'دریافت شبکه',
        numConnections: 'اتصال‌ها',
        startTime: 'زمان شروع',
        running: 'در حال اجرا',
        sleep: 'خواب',
        stop: 'متوقف',
        idle: 'بیکار',
        zombie: 'فرآیند زامبی',
        wait: 'در انتظار',
        lock: 'قفل',
        blocked: 'مسدود',
        cmdLine: 'دستور شروع',
        basic: 'پایه',
        mem: 'حافظه',
        openFiles: 'فایل‌های باز',
        env: 'محیط‌ها',
        noenv: 'هیچکدام',
        net: 'اتصال‌های شبکه',
        laddr: 'آدرس/پورت محلی',
        raddr: 'آدرس/پورت راه دور',
        stopProcess: 'پایان',
        viewDetails: 'مشاهده جزئیات',
        stopProcessWarn: 'آیا مطمئن هستید که می‌خواهید این فرآیند (PID:{0}) را پایان دهید؟',
        kill: 'کشتن فرآیند',
        killNow: 'همین حالا بکش',
        killHelper: 'کشتن فرآیند {0} ممکن است باعث خرابی برخی برنامه‌ها شود. ادامه می‌دهید؟',
        processName: 'نام فرآیند',
    },
    tool: {
        supervisor: {
            loadStatusErr: 'دریافت وضعیت فرآیند ناموفق بود، لطفاً وضعیت سرویس supervisor را بررسی کنید.',
            notSupport: 'سرویس Supervisor شناسایی نشد، برای نصب دستی به صفحه کتابخانه اسکریپت بروید',
            list: 'فرآیندهای محافظ',
            config: 'پیکربندی Supervisor',
            primaryConfig: 'مکان فایل پیکربندی اصلی',
            notSupportCtl: 'supervisorctl شناسایی نشد، برای نصب دستی به صفحه کتابخانه اسکریپت بروید',
            user: 'کاربر',
            command: 'دستور',
            dir: 'دایرکتوری',
            numprocs: 'تعداد فرآیندها',
            initWarn:
                'این کار مقدار "files" را در بخش "[include]" در فایل پیکربندی اصلی تغییر می‌دهد. دایرکتوری سایر فایل‌های پیکربندی خواهد بود: "{دایرکتوری نصب 1Panel}/1panel/tools/supervisord/supervisor.d/".',
            operatorHelper: 'عملیات {1} روی {0} انجام خواهد شد، ادامه می‌دهید؟ ',
            uptime: 'زمان فعالیت',
            notStartWarn: 'Supervisor راه‌اندازی نشده است. ابتدا آن را راه‌اندازی کنید.',
            serviceName: 'نام سرویس',
            initHelper:
                'سرویس Supervisor شناسایی شد اما راه‌اندازی نشده است. برای پیکربندی روی دکمه راه‌اندازی در نوار وضعیت بالا کلیک کنید.',
            serviceNameHelper:
                'نام سرویس Supervisor که توسط systemctl مدیریت می‌شود، معمولاً supervisor یا supervisord',
            restartHelper:
                'این کار پس از راه‌اندازی، سرویس را مجدداً راه‌اندازی می‌کند که باعث توقف همه فرآیندهای محافظ موجود می‌شود.',
            RUNNING: 'در حال اجرا',
            STOPPED: 'متوقف شده',
            STOPPING: 'در حال توقف',
            STARTING: 'در حال شروع',
            FATAL: 'شروع ناموفق',
            BACKOFF: 'استثنای شروع',
            ERROR: 'خطا',
            statusCode: 'کد وضعیت',
            manage: 'مدیریت',
            autoRestart: 'راه‌اندازی مجدد خودکار',
            EXITED: 'خارج شده',
            autoRestartHelper: 'آیا در صورت خرابی برنامه، به طور خودکار مجدداً راه‌اندازی شود',
            autoStart: 'شروع خودکار',
            autoStartHelper: 'آیا پس از شروع Supervisor، سرویس به طور خودکار شروع شود',
        },
    },
    disk: {
        management: 'مدیریت دیسک',
        partition: 'پارتیشن‌بندی',
        unmount: 'قطع اتصال',
        unmountHelper: 'قطع اتصال پارتیشن {0}؟',
        mount: 'اتصال',
        partitionAlert:
            'پارتیشن‌بندی دیسک نیاز به فرمت کردن دیسک دارد و داده‌های موجود حذف می‌شوند. لطفاً از داده‌های خود پشتیبان‌گیری یا تصویر لحظه‌ای بگیرید.',
        mountPoint: 'دایرکتوری اتصال',
        systemDisk: 'دیسک سیستم',
        unpartitionedDisk: 'دیسک پارتیشن‌بندی نشده',
        handlePartition: 'پارتیشن‌بندی اکنون',
        filesystem: 'سیستم فایل',
        unmounted: 'قطع اتصال شده',
        cannotOperate: 'قابل عملیات نیست',
        systemDiskHelper: 'نکته: دیسک فعلی دیسک سیستم است. نمی‌توان روی آن عملیات انجام داد.',
        autoMount: 'اتصال خودکار',
        model: 'مدل دستگاه',
        diskType: 'نوع دیسک',
        serial: 'شماره سریال',
        noFail: 'شکست اتصال بر راه‌اندازی سیستم تأثیری نمی‌گذارد',
    },
    xpack: {
        ldap: {
            source: 'منبع',
            directoryMissing: 'در LDAP یافت نشد',
            localCredentialsManaged: 'نام کاربری و رمز عبور توسط LDAP مدیریت می‌شوند و به‌صورت محلی قابل تغییر نیستند.',
            sources: {
                local: 'محلی',
                ldap: 'LDAP',
            },
            importUsers: 'وارد کردن کاربران AD/LDAP',
            searchUsersPlaceholder: 'جستجوی نام کاربری',
            readFromLDAP: 'از LDAP بخوانید',
            selectedUsers: '{0} انتخاب شد',
            queriedAt: 'زمان خواندن',
            cachedResult: 'نتیجه ذخیره شده',
            roleForNewUsers: 'نقش برای کاربران جدید',
            selectRole: 'یک نقش را انتخاب کنید',
            roleOnlyForNewUsers: 'یک نقش تنها زمانی مورد نیاز است که وارد کردن کاربران ایجاد کند.',
            roleRequiredForNewUsers: 'نقشی را برای کاربران جدید LDAP انتخاب کنید.',
            changedFields: 'فیلدها را تغییر داد',
            importSelected: 'واردات انتخاب شد',
            importAll: 'همه را وارد کنید',
            importPreview: 'پیش‌نمایش وارد کردن AD/LDAP',
            importCompleted: 'وارد کردن AD/LDAP تکمیل شد',
            incompletePreview: 'دایرکتوری LDAP خوانده شده ناقص بود. دوباره از LDAP بخوانید.',
            missingUsersWarning: 'کاربرانی که از LDAP غایب هستند با همگام سازی دقیق غیرفعال می شوند.',
            missingUsersWarningDetail: '{0} کاربر محلی LDAP دیگر نمی‌توانند وارد سیستم شوند.',
            action: 'اقدام',
            reason: 'دلیل',
            noImportChanges: 'بدون تغییر واردات',
            confirmImport: 'واردات را تایید کنید',
            created: 'ایجاد کنید',
            updated: 'به روز رسانی',
            reactivated: 'دوباره فعال کنید',
            unchanged: 'بدون تغییر',
            conflicts: 'درگیری ها',
            missing: 'گم شده',
            missingUsersConfirm:
                'کاربر(های) {0} که از LDAP مفقود شده اند غیرفعال می شوند و از سیستم خارج می شوند. ادامه دهید؟',
            strictSyncConfirm: 'همگام سازی دقیق را تأیید کنید',
            status: {
                importable: 'کاربر جدید',
                update_available: 'به روز رسانی موجود است',
                up_to_date: 'به روز',
                conflict: 'درگیری',
            },
            fields: {
                name: 'نام کاربری',
                externalDN: 'دایرکتوری DN',
                externalID: 'شناسه خارجی',
                authSourceStatus: 'وضعیت احراز هویت',
            },
            actions: {
                created: 'ایجاد کنید',
                updated: 'به روز رسانی',
                reactivated: 'دوباره فعال کنید',
                unchanged: 'بدون تغییر',
                skipped: 'رد شد',
                conflicts: 'درگیری',
                conflict: 'درگیری',
                missing: 'غیر فعال کردن',
                errors: 'خطا',
                error: 'خطا',
            },
        },
        expiresEnterpriseAlert:
            'یادآوری دوستانه: مجوز نسخه سازمانی شما در {0} روز منقضی می‌شود و همه ویژگی‌های نسخه سازمانی دیگر قابل دسترسی نخواهند بود. لطفاً به موقع تمدید کنید تا استفاده ادامه یابد.',
        expiresProAlert:
            'یادآوری دوستانه: مجوز نسخه حرفه‌ای شما در {0} روز منقضی می‌شود و همه ویژگی‌های نسخه حرفه‌ای دیگر قابل دسترسی نخواهند بود. لطفاً به موقع تمدید کنید تا استفاده ادامه یابد.',
        menu: 'حرفه‌ای',
        upage: 'سازنده وب‌سایت هوش مصنوعی',
        proAlert: 'برای استفاده از این ویژگی به نسخه تجاری ارتقاء دهید',
        opsReport: {
            name: 'گزارش عملیات',
            overview: 'نمای کلی',
            system: 'زمان اجرای میزبان',
            login: 'ورود و امنیت',
            website: 'حفاظت از وب‌سایت',
            resource: 'منابع زمان اجرا',
            cronjob: 'وظایف زمان‌بندی',
            alert: 'هشدارها',
            history: 'تاریخچه خروجی',
            setting: 'تنظیمات',
            page: {
                enterprise: 'سازمانی',
                reportNode: 'گره گزارش',
                selectReportNode: 'انتخاب گره گزارش',
                currentNode: 'جاری',
                scoreMeta: '{0} امتیاز کسر شد · {1} ریسک',
                hostAddress: 'آدرس میزبان',
                panelVersion: 'نسخه پنل',
                cpuCores: 'هسته‌های فیزیکی',
                coreUnit: '{0} هسته',
                memoryTotal: 'مجموع حافظه',
                reportDate: 'تاریخ گزارش',
                serverSecurityOverview: 'نمای کلی عملیات امنیتی سرور',
                securityScore: 'امتیاز امنیت',
                overviewSummary: 'سطح امنیت فعلی: {0}. {1} امتیاز کسر شد، {2} مورد ریسک یافت شد، {3} شیء بررسی شد.',
                riskDistribution: 'توزیع ریسک',
                totalDeducted: 'مجموع کسر',
                noRiskDeducted: 'بدون کسر',
                scoreTrend: 'روند امتیاز',
                scoreLevelSafe: 'ایمن',
                scoreLevelAttention: 'نیاز به توجه',
                scoreLevelMediumRisk: 'ریسک متوسط',
                scoreLevelHighRisk: 'ریسک بالا',
                scoreCategoryHost: 'منابع میزبان',
                scoreCategoryLogin: 'امنیت ورود',
                scoreCategoryWebsite: 'وب‌سایت‌ها و گواهی‌ها',
                scoreCategoryCronjob: 'وظایف زمان‌بندی',
                scoreCategoryResource: 'منابع زمان اجرا',
                scoreCategoryAlert: 'هشدارها',
                scoreDiskHigh: 'استفاده از دیسک {0} برابر با {1}% است',
                scoreDiskMedium: 'استفاده از دیسک {0} برابر با {1}% است',
                scoreResourceHigh: 'استفاده فعلی {0} برابر با {1}% است',
                scoreResourceMedium: 'استفاده فعلی {0} برابر با {1}% است',
                scoreLoadMedium: 'بار فعلی {0} است',
                scoreMonitorDisabled: 'نظارت بر میزبان غیرفعال است',
                scorePanelLoginFailedHigh: 'ورود به پنل {0} بار ناموفق بود',
                scorePanelLoginFailedMedium: 'ورود به پنل {0} بار ناموفق بود',
                scoreSSHLoginFailedHigh: 'ورود SSH {0} بار ناموفق بود',
                scoreSSHLoginFailedMedium: 'ورود SSH {0} بار ناموفق بود',
                scoreMFADisabled: 'MFA غیرفعال است',
                scoreAllowIPsOpen: 'IP‌های مجاز و دامنه متصل پیکربندی نشده‌اند یا دسترسی محدود نیست',
                scorePanelHTTPSDisabled: 'HTTPS پنل غیرفعال است',
                scoreSSHRootLogin: 'ورود ریشه SSH مجاز است',
                scoreSSHPasswordAuth: 'احراز هویت رمز عبور SSH بدون کلید فعال است',
                scoreSSLExpired: 'گواهی {0} منقضی شده است',
                scoreSSLHigh: 'گواهی {0} در {1} روز منقضی می‌شود',
                scoreSSLMedium: 'گواهی {0} در {1} روز منقضی می‌شود',
                scoreWebsiteExpired: 'وب‌سایت {0} منقضی شده است',
                scoreWebsiteExpire: 'وب‌سایت {0} در {1} روز منقضی می‌شود',
                scoreWebsiteHTTP: '{0} از HTTPS استفاده نمی‌کند',
                scoreWebsiteStopped: 'وضعیت {0} غیرعادی است',
                scoreWebsiteMonitorUnavailable: 'نظارت وب‌سایت یک سایت غیرقابل دسترس را شناسایی کرد',
                scoreWebsiteMonitorAvailability: 'در دسترس بودن درخواست‌های نظارت وب‌سایت {0}% کمتر از آستانه است',
                scoreWebsiteMonitorStatusAbnormal: 'نظارت وب‌سایت فعال است اما در وضعیت غیرعادی قرار دارد',
                scoreWafDisabled: 'WAF غیرفعال است و وب‌سایت‌ها محافظت نمی‌شوند',
                scoreWafHighRiskHit: 'WAF در دوره گزارش با {0} قانون پرخطر مطابقت داشت',
                scoreCronjobFailed: 'رکورد شکست وظیفه زمان‌بندی {0} در ۷ روز گذشته',
                scoreAppFailed: 'برنامه {0} غیرعادی است',
                scoreAppStopped: 'برنامه {0} متوقف شده است',
                scoreContainerHigh: 'وضعیت کانتینر {0} غیرعادی است',
                scoreContainerExited: 'کانتینر {0} متوقف شده است',
                scoreContainerResource: 'استفاده از منابع کانتینر {0} بالا است',
                scoreContainerPublicPort: 'کانتینر {0} دارای پورت‌های نمایش داده شده به بیرون است',
                scoreAlertNoTask: 'هیچ وظیفه هشدار پیکربندی نشده است',
                scoreAlertNoEnabledTask: 'همه وظایف هشدار غیرفعال هستند',
                scoreAlertDisabledTask: '{0} وظیفه هشدار غیرفعال است',
                scoreAlertNoChannel: 'هیچ کانال اعلان هشدار فعال نیست',
                scoreAlertFailedHigh: '{0} لاگ شکست هشدار یافت شد',
                scoreAlertFailedMedium: '{0} لاگ شکست هشدار یافت شد',
                scoreAlertPending: '{0} لاگ هشدار در انتظار همگام‌سازی هستند',
                attentionItems: 'موارد قابل توجه',
                attentionAssets: 'دارایی‌های قابل توجه',
                riskItems: 'موارد ریسک',
                object: 'شیء',
                description: 'توضیحات',
                itemUnit: 'مورد',
                recordUnit: 'رکورد',
                certUnit: 'گواهی',
                containerUnit: 'کانتینر',
                loginFailed: 'ورودهای ناموفق',
                sslExpire: 'انقضای گواهی',
                abnormalContainer: 'کانتینرهای غیرعادی',
                statAttentionDesc: '{0} امتیاز کسر شد',
                statLoginDesc: 'پنل {0} · SSH {1}',
                statSslDesc: '{0} گواهی بررسی شد',
                statContainerDesc: '{0} کانتینر بررسی شد',
                statAlertDesc: '{0} وظیفه فعال · {1} کانال',
                assetHostDesc: 'حداکثر استفاده از دیسک {0}%',
                assetWebsiteDesc: '{0} گواهی به زودی منقضی می‌شود، {1} وب‌سایت غیرعادی',
                assetResourceDesc: '{0} برنامه غیرعادی، {1} کانتینر غیرعادی',
                assetCronjobDesc: '{0} رکورد شکست در ۷ روز گذشته، {1} وظیفه غیرفعال',
                assetAlertDesc: '{0} لاگ شکست، {1} لاگ در انتظار همگام‌سازی',
                app: 'برنامه‌ها',
                website: 'وب‌سایت‌ها',
                websiteSsl: 'وب‌سایت‌ها / گواهی‌ها',
                cronjob: 'وظایف زمان‌بندی',
                container: 'کانتینرها',
                sslCertificate: 'گواهی‌های SSL',
                loginSecurity: 'امنیت ورود',
                panelLogin: 'ورود به پنل',
                sshLogin: 'ورود SSH',
                failedRecord: 'رکوردهای ناموفق',
                expired: 'منقضی شده',
                expiredDays: '{0} روز پیش منقضی شده است',
                remainingDays: '{0} · {1} روز باقی مانده',
                enabled: 'فعال',
                disabled: 'غیرفعال',
                exportRecordFailed: 'ذخیره رکورد خروجی ناموفق بود',
                hostInfo: 'اطلاعات میزبان',
                hostname: 'نام میزبان',
                osVersion: 'نسخه سیستم عامل',
                kernelVersion: 'نسخه هسته',
                arch: 'معماری',
                uptime: 'زمان فعالیت',
                diskUsage: 'استفاده از دیسک',
                mountPoint: 'نقطه اتصال',
                device: 'دستگاه',
                capacity: 'ظرفیت',
                used: 'استفاده شده',
                usageRate: 'درصد استفاده',
                memory: 'حافظه',
                load: 'بار',
                maxDiskUsage: 'حداکثر استفاده از دیسک',
                panelLoginSecurity: 'امنیت ورود به پنل',
                sshSecurity: 'امنیت SSH سرور لینوکس',
                panelFailedRecords: 'رکوردهای ورود ناموفق به پنل',
                sshFailedRecords: 'رکوردهای ورود ناموفق SSH',
                location: 'مکان',
                configItem: 'مورد پیکربندی',
                currentValue: 'مقدار فعلی',
                securityEntrance: 'ورودی امنیتی',
                configured: 'پیکربندی شده',
                notConfigured: 'پیکربندی نشده',
                normal: 'عادی',
                needAttention: 'نیاز به توجه',
                allowIPs: 'IP‌های مجاز',
                restricted: 'محدود',
                unrestricted: 'نامحدود',
                bindDomain: 'دامنه متصل',
                accessRestriction: 'محدودیت دسترسی',
                panelHTTPS: 'HTTPS پنل',
                passwordComplexity: 'پیچیدگی رمز عبور',
                sshService: 'سرویس SSH',
                running: 'در حال اجرا',
                notRunning: 'در حال اجرا نیست',
                listenPort: 'پورت شنود',
                read: 'خواندن',
                rootLogin: 'ورود ریشه',
                passwordAuth: 'احراز هویت رمز عبور',
                keyAuth: 'احراز هویت کلید',
                panelLoginFailed: 'ورودهای ناموفق به پنل',
                sshLoginFailed: 'ورودهای ناموفق SSH',
                panelSecurityItems: 'موارد امنیتی پنل',
                sshSecurityItems: 'موارد امنیتی SSH',
                loginSecurityHealthStatus: 'سلامت امنیت ورود',
                adjustSSHSecurity: 'تنظیم امنیت SSH',
                viewLoginLogs: 'مشاهده لاگ‌های ورود',
                riskLevel: 'سطح ریسک',
                goConfig: 'پیکربندی',
                viewMore: 'مشاهده بیشتر',
                involvedIPs: '{0} IP درگیر',
                sessionTimeout: 'مهلت جلسه',
                countUnit: 'بار',
                recent24Hours: '۲۴ ساعت گذشته',
                currentService: 'سرویس فعلی',
                riskItemsExist: '{0} مورد ریسک',
                loginHealthRiskDesc: '{0} پیکربندی پرخطر شناسایی شد. برای کاهش خطر نفوذ، امنیت ورود را تقویت کنید.',
                loginHealthNormalDesc: 'پیکربندی‌های امنیتی ورود و SSH فعلی عادی هستند',
                loginHealthNormalReason: 'امنیت ورود عادی است',
                securityEntranceConfiguredDesc:
                    'ورودی امنیتی پیکربندی شده است تا قرار گرفتن در معرض ورودی پیش‌فرض کاهش یابد',
                securityEntranceRiskDesc: 'ورودی امنیتی غیرفعال است. ورودی پیش‌فرض را پنهان کنید',
                allowIPsRestrictedDesc: 'IP‌های مجاز برای دسترسی به پنل محدود شده‌اند',
                allowIPsRiskDesc: 'دسترسی IP محدود نیست. برای محیط‌های عمومی IP‌های مجاز را پیکربندی کنید',
                bindDomainRestrictedDesc: 'دامنه دسترسی متصل است',
                bindDomainRiskDesc: 'دامنه دسترسی متصل نیست. دسترسی را به یک دامنه ثابت محدود کنید',
                accessRestrictionValue: 'IP‌های مجاز: {0} / دامنه متصل: {1}',
                accessRestrictionNormalDesc:
                    'IP‌های مجاز یا دامنه متصل پیکربندی شده‌اند تا منابع دسترسی به پنل را محدود کنند',
                accessRestrictionRiskDesc:
                    'IP‌های مجاز و دامنه متصل پیکربندی نشده‌اند یا دسترسی محدود نیست. حداقل یکی را پیکربندی کنید',
                panelHTTPSNormalDesc: 'HTTPS پنل فعال است',
                panelHTTPSRiskDesc: 'HTTPS پنل غیرفعال است. ترافیک ورود ممکن است در معرض دید قرار گیرد',
                passwordComplexityNormalDesc: 'تأیید پیچیدگی رمز عبور فعال است',
                passwordComplexityRiskDesc: 'تأیید پیچیدگی رمز عبور غیرفعال است و خطر رمز عبور ضعیف را افزایش می‌دهد',
                mfa: 'MFA',
                mfaNormalDesc: 'MFA فعال است و امنیت ورود را بهبود می‌بخشد',
                mfaRiskDesc: 'MFA غیرفعال است. احراز هویت چند عاملی را فعال کنید',
                sessionTimeoutNormalDesc: 'مهلت جلسه در محدوده ایمن‌تری قرار دارد',
                sessionTimeoutRiskDesc: 'مهلت جلسه طولانی است. طول عمر جلسه بیکار را محدود کنید',
                sshServiceNormalDesc: 'سرویس SSH به طور عادی در حال اجرا است',
                sshServiceRiskDesc: 'سرویس SSH در حال اجرا نیست یا غیرعادی است',
                sshPortNormalDesc: 'پورت SSH از پورت پیش‌فرض تغییر کرده است',
                sshPortRiskDesc: 'SSH همچنان از پورت پیش‌فرض ۲۲ استفاده می‌کند. در صورت مناسب بودن آن را تغییر دهید',
                rootLoginNormalDesc: 'کاربر ریشه نمی‌تواند مستقیماً وارد شود',
                rootLoginRiskDesc: 'کاربر ریشه می‌تواند مستقیماً وارد شود. آن را غیرفعال کنید',
                passwordAuthNormalDesc: 'ورود با رمز عبور SSH غیرفعال است',
                passwordAuthRiskDesc: 'ورود با رمز عبور مجاز است و خطر حملات brute-force را افزایش می‌دهد',
                keyAuthNormalDesc: 'احراز هویت کلید SSH فعال است',
                keyAuthRiskDesc: 'احراز هویت کلید غیرفعال است. از ورود مبتنی بر کلید استفاده کنید',
                websiteOverview: 'نمای کلی وب‌سایت',
                primaryDomain: 'دامنه اصلی',
                expireTime: 'زمان انقضا',
                domain: 'دامنه',
                issuer: 'صادرکننده',
                autoRenew: 'تمدید خودکار',
                websiteCount: 'وب‌سایت‌ها',
                httpsWebsite: 'وب‌سایت‌های HTTPS',
                certCount: 'گواهی‌ها',
                websiteExpire: 'انقضای وب‌سایت',
                database: 'پایگاه‌های داده',
                remoteDatabase: 'پایگاه‌های داده از راه دور',
                address: 'آدرس',
                containerResourceUsage: 'استفاده از منابع کانتینر',
                spaceUsage: 'استفاده از فضا',
                reclaimable: 'قابل بازپس‌گیری',
                containerReclaimable: 'قابل بازپس‌گیری کانتینر',
                image: 'تصاویر',
                volume: 'حجم‌ها',
                buildCache: 'کش ساخت',
                alert: 'هشدار',
                alertConfigured: 'هشدارهای پیکربندی شده',
                alertOperations: 'اعلان‌های هشدار',
                alertTaskCount: 'وظایف هشدار',
                enabledAlertTask: 'وظایف فعال',
                disabledAlertTask: 'وظایف غیرفعال',
                alertChannels: 'کانال‌های اعلان',
                alertLogCount: 'لاگ‌های هشدار',
                alertSuccessRate: 'نرخ موفقیت هشدار',
                alertFailedLogs: 'لاگ‌های هشدار ناموفق',
                alertPendingLogs: 'لاگ‌های در انتظار همگام‌سازی',
                alertPending: 'در انتظار همگام‌سازی',
                alertTaskStats: 'آمار وظایف هشدار',
                alertTaskType: 'نوع هشدار',
                alertLogStatusStats: 'وضعیت اجرای هشدار',
                alertHealthNormal: 'عادی',
                alertHealthAttention: 'نیاز به توجه',
                alertHealthRisk: 'پرریسک',
                alertHealthSummary: 'سلامت هشدار',
                alertHealthNormalReason: 'وظایف هشدار، کانال‌های اعلان و لاگ‌های اجرا سالم هستند',
                alertNoChannelReason: 'هیچ کانال اعلان فعال نیست',
                alertFailedLogReason: '{0} لاگ هشدار ناموفق یافت شد',
                alertPendingReason: '{0} لاگ هشدار در انتظار همگام‌سازی هستند',
                alertDisabledTaskReason: '{0} وظیفه هشدار غیرفعال است',
                alertNoTaskReason: 'هیچ وظیفه هشدار پیکربندی نشده است',
                goAlertConfig: 'پیکربندی هشدار',
                goAlertLogs: 'لاگ‌های هشدار',
                configureAlertChannel: 'پیکربندی کانال‌ها',
                createAlertTask: 'ایجاد وظیفه هشدار',
                viewAlertTasks: 'مشاهده وظایف هشدار',
                viewFailedAlertLogs: 'مشاهده لاگ‌های ناموفق',
                viewAlertLogs: 'مشاهده لاگ‌های هشدار',
                alertChannelSummary: '{0} / {1} کانال فعال',
                alertTaskEnabledDesc: '{0} وظیفه فعال',
                alertTaskSummary: '{0} فعال، {1} غیرفعال',
                alertLogSummary: '{0} موفق، {1} ناموفق',
                alertPendingDesc: '{0} لاگ در انتظار همگام‌سازی',
                alertLogSuccessDesc: 'اعلان تکمیل شد',
                alertLogFailedDesc: 'پیکربندی کانال یا مسیر تحویل را بررسی کنید',
                alertLogPendingDesc: 'آفلاین یا مسیر همگام‌سازی در انتظار',
                failedAlertLogs: 'لاگ‌های هشدار ناموفق',
                disabledAlertTasks: 'وظایف هشدار غیرفعال',
                alertTableDisplayDesc: 'نمایش {0} از {1}',
                noAlertTask: 'هیچ وظیفه هشدار',
                noFailedAlertLog: 'هیچ لاگ هشدار ناموفقی وجود ندارد',
                noDisabledAlertTask: 'هیچ وظیفه هشدار غیرفعالی وجود ندارد',
                alertMsg: 'پیام هشدار',
                alertMethod: 'روش هشدار',
                alertRule: 'قانون هشدار',
                alertCronjobType: 'وظیفه زمان‌بندی: {0}',
                alertAllTargets: 'همه اهداف',
                alertAllDisks: 'همه دیسک‌ها',
                alertAllCertificates: 'همه گواهی‌ها',
                alertAllWebsites: 'همه وب‌سایت‌ها',
                alertDiskRuleShort: '{0} از {1}{2} تجاوز کرد، {3} بار در روز',
                alertAverageRuleShort: 'میانگین {0} دقیقه از {1}% تجاوز کرد، {2} بار در روز',
                alertTimeRuleShort: 'در {0} روز فعال شود، {1} بار ارسال شود',
                alertSendCountRuleShort: '{0} بار در روز ارسال شود',
                failedExecutionRecords: 'رکوردهای اجرای ناموفق',
                taskID: 'شناسه وظیفه',
                executeTime: 'زمان اجرا',
                backupTasks: 'وظایف پشتیبان',
                systemMetrics: 'معیارهای زمان اجرا',
                cpu: 'CPU',
                thresholdPercent: 'آستانه {0}%',
                recent24HourPeakPercent: 'اوج ۲۴ ساعت گذشته {0}',
                loadAverage: 'بار ۱ / ۵ / ۱۵ دقیقه: {0} / {1} / {2}',
                sourceMount: 'نقطه اتصال {0}',
                storageUsage: 'استفاده از فضای ذخیره‌سازی',
                localDisk: 'دیسک محلی',
                highUsagePeriods: 'دوره‌های استفاده بالا',
                timeRange: 'محدوده زمانی',
                threshold: 'آستانه',
                duration: 'مدت زمان',
                peak: 'اوج',
                scoring: 'امتیازدهی',
                counted: 'شمارش شده',
                notCounted: 'شمارش نشده',
                dataSource: 'منبع داده',
                noHighUsagePeriod: 'هیچ دوره استفاده بالا وجود ندارد',
                monitorDisabledOrNoData: 'نظارت بر میزبان غیرفعال است یا داده نظارتی در دسترس نیست',
                systemHealthStatus: 'ریسک زمان اجرای میزبان در ۲۴ ساعت گذشته',
                mainReasons: 'دلایل اصلی',
                viewHostMonitor: 'مشاهده نظارت بر میزبان',
                systemHealthAttentionDesc:
                    '{0} مورد ریسک در ۲۴ ساعت گذشته شناسایی شد. اوج منابع و استفاده از دیسک را در اولویت قرار دهید.',
                systemHealthNormalDesc: 'معیارهای زمان اجرای میزبان در ۲۴ ساعت گذشته عادی بود',
                monitorEnabled: 'نظارت فعال',
                cpuCoreUsage: '{0} / {1} هسته',
                load1Minute: 'بار ۱ دقیقه',
                diskSpaceUsage: 'استفاده از فضای دیسک',
                usedCapacity: 'استفاده شده / مجموع',
                fileSystem: 'سیستم فایل',
                resourceTrendSummary: 'خلاصه روند منابع',
                last24Hours: '۲۴ ساعت گذشته',
                granularityHour: 'دانه‌بندی: ۱ ساعت',
                current: 'فعلی',
                average: 'میانگین',
                totalItems: '{0} مورد',
                to: 'تا',
                hoursShort: '{0} ساعت',
                minutesShort: '{0} دقیقه',
                websiteStatus: 'وضعیت وب‌سایت',
                websiteHealthStatus: 'سلامت حفاظت از وب‌سایت',
                websiteHealthNormalReason: 'وب‌سایت‌ها، گواهی‌ها، WAF و نظارت وب‌سایت سالم هستند',
                websiteHealthAttentionDesc:
                    '{0} مورد ریسک شناسایی شد. به زودی آنها را مدیریت کنید تا از امنیت و در دسترس بودن وب‌سایت محافظت شود.',
                websiteHealthNormalDesc: 'معیارهای حفاظت از وب‌سایت فعلی عادی هستند',
                handleSslRisk: 'مدیریت ریسک‌های گواهی',
                viewWaf: 'مشاهده WAF',
                priority: 'اولویت',
                riskDescription: 'توضیح ریسک',
                deductScore: 'امتیاز کسر شده',
                remaining: 'باقی‌مانده',
                wafSourceIpTop: '۵ IP برتر مبدأ WAF',
                wafAffectedSiteTop: '۵ سایت متأثر برتر',
                sslRisk: 'ریسک‌های گواهی',
                sslExpiring: 'گواهی‌های در حال انقضا',
                includedInReport: 'در گزارش گنجانده شده است',
                needRenewal: 'تمدید توصیه می‌شود',
                fromExpireInfo: 'از اطلاعات انقضا',
                runningWebsite: 'وب‌سایت در حال اجرا',
                fromWebsiteStatus: 'از وضعیت لیست وب‌سایت',
                stoppedWebsite: 'وب‌سایت متوقف شده',
                confirmStoppedWebsite: 'تأیید کنید که آیا این مورد انتظار می‌رود',
                expiringWebsite: 'وب‌سایت‌های در حال انقضا',
                expiringSoon: 'به زودی منقضی می‌شود',
                none: 'هیچکدام',
                noSslRisk: 'هیچ گواهی برای مدیریت وجود ندارد',
                websiteProtection: 'WAF و نظارت وب‌سایت',
                websiteMonitor: 'نظارت وب‌سایت',
                waf: 'WAF',
                siteAvailability: 'در دسترس بودن درخواست‌ها',
                monitoredSites: 'سایت‌های تحت نظارت',
                requestCount: 'درخواست‌ها',
                abnormalSites: 'سایت‌های غیرعادی',
                count5xxSource: 'شمارش بر اساس درخواست‌های 5xx',
                wafIntercept: 'مسدودسازی‌های WAF',
                websiteMonitorDisabledOrNoData: 'نظارت وب‌سایت غیرفعال است یا داده نظارتی در دسترس نیست',
                wafDisabledOrNoData: 'WAF غیرفعال است یا داده مسدودسازی در دسترس نیست',
                serviceEnabledButAbnormal: 'فعال است، اما در وضعیت غیرعادی قرار دارد',
                noWafData: 'هیچ داده مسدودسازی WAF وجود ندارد',
                sourceIP: 'IP مبدأ',
                hitCount: 'تعداد برخورد',
                level: 'سطح',
                attackType: 'نوع حمله',
                requestRatio: 'نسبت درخواست',
                installed: 'نصب شده',
                normalRunning: 'به طور عادی در حال اجرا',
                failedStart: 'شروع ناموفق',
                manualStopped: 'به صورت دستی متوقف شده',
                failed: 'ناموفق',
                success: 'موفق',
                canUpdate: 'قابل ارتقاء',
                listSeparator: '، ',
                containerCount: 'کانتینرها',
                stopped: 'متوقف شده',
                abnormal: 'غیرعادی',
                abnormalContainers: 'کانتینرهای غیرعادی',
                resourceUsage: 'استفاده از منابع',
                exposedContainerPorts: 'پورت‌های نمایش داده شده',
                portMapping: 'نگاشت پورت',
                risk: 'ریسک',
                noAbnormalContainer: 'هیچ کانتینر غیرعادی وجود ندارد',
                noExposedContainer: 'هیچ پورت نمایش داده شده‌ای شناسایی نشد',
                publicExpose: 'نمایش عمومی',
                privateExpose: 'نگاشت خصوصی',
                resourceHealth: 'سلامت منابع زمان اجرا',
                checkTime: 'زمان بررسی',
                resourceHealthNormalDesc: 'برنامه‌ها، پایگاه‌های داده و کانتینرها در حال حاضر سالم هستند',
                resourceHealthAttentionDesc:
                    '{0} مورد قابل توجه شناسایی شد. منابع متوقف شده و پورت‌های نمایش داده شده عمومی را در اولویت قرار دهید.',
                resourceHealthRiskDesc:
                    '{0} مورد پرخطر شناسایی شد. کانتینرهای غیرعادی یا برنامه‌های ناموفق را در اولویت قرار دهید.',
                resourceThresholdContainers: 'کانتینرهای آستانه CPU / حافظه',
                noThresholdExceededContainer: 'هیچ کانتینری از آستانه تجاوز نکرد',
                triggerMetric: 'معیار محرک',
                resourceReasonAppFailed: '{0} برنامه شروع نشد',
                resourceReasonAppStopped: '{0} برنامه متوقف شد',
                resourceReasonContainerAbnormal: '{0} کانتینر غیرعادی است',
                resourceReasonContainerStopped: '{0} کانتینر متوقف شد',
                resourceReasonPublicPorts: '{0} پورت نمایش داده شده عمومی',
                resourceReasonNormal: 'برنامه‌ها، پایگاه‌های داده و کانتینرها سالم هستند',
                viewAbnormalContainers: 'مشاهده کانتینرهای غیرعادی',
                viewExposedPorts: 'مشاهده پورت‌های نمایش داده شده',
                viewAppResources: 'مشاهده منابع برنامه',
                viewRuntimeResources: 'مشاهده منابع زمان اجرا',
                viewContainerResources: 'مشاهده منابع کانتینر',
                configuredServices: 'سرویس‌های پیکربندی شده',
                publicPrivatePorts: '{0} عمومی / {1} نگاشت خصوصی',
                currentDisplayTotal: 'نمایش {0} از {1}',
                reclaimableSpace: 'فضای قابل بازپس‌گیری',
                estimatedReclaimable: 'قابل بازپس‌گیری تخمینی',
                unusedImageSpace: 'فضای تصویر استفاده نشده',
                stoppedContainerSpace: 'فضای کانتینر متوقف شده',
                unusedVolumeSpace: 'فضای حجم استفاده نشده',
                buildCacheSpace: 'فضای کش ساخت Docker',
                executionRecords: 'رکوردهای اجرا',
                successRate: 'نرخ موفقیت',
                failedJobs: 'وظایف ناموفق',
                recentRecoveryPoint: 'آخرین نقطه بازیابی',
                disabledCronjobTasks: 'وظایف زمان‌بندی غیرفعال',
                remoteCoverage: 'پوشش از راه دور',
                recent7Days: '۷ روز گذشته',
                taskTypeStats: 'آمار نوع وظیفه',
                total: 'مجموع',
                taskTypeDesc: '{0} فعال، {1} غیرفعال',
                failedOrAttentionTasks: 'وظایف ناموفق یا قابل توجه',
                execution: 'اجرا',
                latestExecution: 'آخرین اجرا',
                remoteBackup: 'پشتیبان از راه دور',
                localOnly: 'فقط محلی',
                covered: 'پوشش داده شده',
                noAttentionCronjob: 'هیچ وظیفه زمان‌بندی ناموفق یا قابل توجهی وجود ندارد',
                cronjobHealth: 'سلامت وظایف زمان‌بندی',
                cronjobHealthNormalDesc: 'اجرای وظایف زمان‌بندی و پوشش پشتیبان سالم هستند',
                cronjobHealthAttentionDesc:
                    '{0} مورد قابل توجه شناسایی شد. وظایف غیرفعال و رکوردهای ناموفق را در اولویت قرار دهید.',
                cronjobHealthRiskDesc: '{0} مورد پرخطر شناسایی شد. وظایف ناموفق و غیرفعال را در اولویت قرار دهید.',
                cronjobReasonFailed: '{0} رکورد ناموفق',
                cronjobReasonDisabled: '{0} وظیفه غیرفعال',
                cronjobReasonLocalOnlyBackup: '{0} وظیفه پشتیبان فقط محلی',
                cronjobReasonNormal: 'اجرای وظایف زمان‌بندی و پوشش پشتیبان عادی هستند',
                riskLow: 'ریسک کم',
                viewFailedRecords: 'مشاهده وظایف ناموفق',
                viewCronjobTasks: 'مشاهده وظایف زمان‌بندی',
                checkBackupTasks: 'بررسی وظایف پشتیبان',
                generationRule: 'قوانین تولید',
                scheduleDaily: 'روزانه',
                scheduleDailyDesc: 'هر روز ساعت ۰۹:۰۰ گزارشی برای ۲۴ ساعت گذشته تولید می‌کند',
                scheduleWeekly: 'هفتگی',
                scheduleWeeklyDesc: 'هر دوشنبه ساعت ۰۹:۰۰ گزارشی برای ۷ روز گذشته تولید می‌کند',
                scheduleMonthly: 'ماهانه',
                scheduleMonthlyDesc: 'روز اول هر ماه ساعت ۰۹:۰۰ گزارشی برای ماه قبل تولید می‌کند',
                scheduleCurrentDaily: 'هر روز ساعت ۰۹:۰۰، گزارش ۲۴ ساعت گذشته · بعدی {0}',
                scheduleCurrentWeekly: 'هر دوشنبه ساعت ۰۹:۰۰، گزارش ۷ روز گذشته · بعدی {0}',
                scheduleCurrentMonthly: 'روز اول هر ماه ساعت ۰۹:۰۰، گزارش ماه قبل · بعدی {0}',
                notificationMethod: 'روش‌های اعلان',
                channel: 'کانال',
                receiver: 'گیرنده',
                systemThreshold: 'آستانه سیستم',
                metric: 'معیار',
                currentRule: 'قانون فعلی',
                hostMonitor: 'نظارت بر میزبان',
                monitorInterval: 'فاصله نظارت',
                exportSettings: 'تنظیمات خروجی',
                lastExportReport: 'نتیجه تولید شده اخیر',
                noLastExportReport: 'هیچ رکورد گزارش خروجی وجود ندارد',
                lastExportStatus: 'وضعیت آخرین خروجی',
                exportFile: 'فایل خروجی',
                generateTime: 'زمان تولید',
                fileSize: 'اندازه فایل',
                viewExportHistory: 'مشاهده تاریخچه خروجی',
                defaultFormat: 'فرمت پیش‌فرض',
                savePath: 'دایرکتوری ذخیره',
                savePathRequired: 'دایرکتوری ذخیره گزارش را تنظیم کنید',
                autoExport: 'فعال‌سازی خروجی خودکار',
                autoExportDesc: 'هنگام فعال‌سازی، هر روز ساعت ۰۹:۰۰ به طور خودکار یک گزارش عملیات تولید می‌کند',
                autoExportEnabled: 'خروجی خودکار فعال است',
                autoExportDisabled: 'خروجی خودکار غیرفعال است',
                readOnlyPermissionTip:
                    'حساب فعلی فقط می‌تواند تنظیمات گزارش عملیات را مشاهده کند. برای ایجاد تغییرات با مدیر تماس بگیرید.',
                refreshing: 'در حال بازخوانی',
                exporting: 'در حال خروجی',
                exportFailed: 'خروجی گزارش ناموفق بود',
                generating: 'در حال تولید',
                saved: 'ذخیره شد',
                saveFailed: 'ذخیره تنظیمات ناموفق بود',
                generateNow: 'تولید اکنون',
                generateSuccess: 'فایل گزارش تولید شد: {0}',
                generateFailed: 'تولید گزارش ناموفق بود',
                enabledStatus: 'فعال',
                disabledStatus: 'غیرفعال',
                alertConfigInvalid: 'پیکربندی نامعتبر',
                thresholdRule: 'آستانه {0}، پس از {1} بار متوالی فعال می‌شود',
                hours: '{0} ساعت',
                minutes: '{0} دقیقه',
                seconds: '{0} ثانیه',
                totalExports: 'مجموع خروجی‌ها',
                successExports: 'خروجی‌های موفق',
                failedExports: 'خروجی‌های ناموفق',
                reportName: 'نام گزارش',
                exportFormat: 'فرمت خروجی',
                operator: 'اپراتور',
                triggerType: 'محرک',
                filePath: 'مسیر فایل',
                manualExport: 'دستی',
                scheduledExport: 'زمان‌بندی شده',
                exportResult: 'نتیجه خروجی',
                exportDetail: 'جزئیات خروجی',
            },
        },
        user: {
            user: 'کاربر',
            userInfo: 'اطلاعات کاربر',
            userManage: 'مدیریت کاربران',
            superAdmin: 'مدیر کل',
            superAdminDesc: 'دارای مجوزهای کامل مدیریت سیستم است و می‌تواند همه منابع و پیکربندی‌ها را مدیریت کند.',
            nodeAdmin: 'مدیر گره',
            nodeAdminDesc:
                'دارای مجوزهای مدیریت برای گره‌های مشخص است و می‌تواند منابع و پیکربندی‌های آن گره‌ها را مدیریت کند.',
            readOnly: 'فقط خواندنی',
            readOnlyDesc:
                'دسترسی فقط خواندنی به همه مجوزهای سیستم دارد و می‌تواند همه منابع و پیکربندی‌ها را مشاهده کند.',
            bindNode: 'اتصال گره',
            boundUsers: 'کاربران متصل',
            role: 'نقش',
            roleName: 'نام',
            permission: 'مجوزها',
            permissionDuplicate: 'فقط یک نقش می‌تواند به هر گره اختصاص داده شود',
            nodeAdminMasterConfirm:
                'مجوزهای مدیر گره در گره اصلی ارتقاء یافته است. بر اساس نیازهای مدیریت واقعی با دقت اختصاص دهید.',
            permissionLinkageTip:
                'مجوزهای مرتبط به طور خودکار در صورت وجود وابستگی انتخاب می‌شوند؛ پس از حذف دستی، برخی ویژگی‌ها ممکن است "کاربر فعلی مجوز ندارد" را نشان دهند.',
            allViewPermissionHelper: 'همه مجوزهای مشاهده برای دروازه AI را اعطا می‌کند.',
            apiKeyViewPermissionHelper: 'فقط مشاهده کلیدهای API دروازه AI را مجاز می‌کند.',
            masterOnlyPermission: 'مجوز گره اصلی',
            masterOnlyPermissionHelper: 'این مجوز فقط در گره اصلی اعمال می‌شود.',
            view: 'مشاهده',
            manage: 'مدیریت',
            authManage: 'مدیریت احراز هویت',
            auth: {
                providerNavigation: 'ارائه دهندگان احراز هویت',
                defaultNode: 'گره پیش فرض',
                defaultNodePlaceholder: 'یک گره انتخاب کنید',
                defaultNodeHelper: 'فقط برای کاربران جدید.',
                defaultNodeRequired: 'یک گره پیش فرض معتبر انتخاب کنید.',
                nodesLoadFailed: 'بارگیری گره ها ناموفق بود. پیش از انتخاب گره پیش فرض دوباره تلاش کنید.',
                nodeHandling: 'مدیریت گره',
                assignDefaultNode: 'اختصاص گره پیش فرض: {node}',
                keepExistingNode: 'حفظ مجوزهای گره موجود',
                providers: {
                    ldap: 'AD/LDAP',
                    passkey: 'Passkey',
                    radius: 'Radius',
                    oidc: 'OIDC',
                    saml2: 'SAML2',
                    cas: 'CAS',
                    oauth2: 'OAuth2',
                    dingtalk: 'دینگ تاک',
                    feishu: 'فیشو',
                    wecom: 'WeCom',
                },
                providerDescriptions: {
                    ldap: 'سازگار با Active Directory، OpenLDAP و سایر خدمات LDAP',
                    passkey: 'از اعتبار دستگاه برای ورود بدون رمز عبور استفاده کنید',
                    radius: 'دسترسی به شبکه را از طریق سرویس Radius تأیید اعتبار کنید',
                    oidc: 'با OpenID Connect به یک ورود به سیستم سازمانی متصل شوید',
                    saml2: 'از SAML2 برای فدراسیون هویت سازمانی استفاده کنید',
                    cas: 'یک سرویس احراز هویت متمرکز را برای یک ورود به سیستم متصل کنید',
                    oauth2: 'یک سرویس هویت سازگار OAuth2 را وصل کنید',
                    dingtalk: 'از هویت سازمانی DingTalk و ورود به سیستم QR استفاده کنید',
                    feishu: 'از هویت سازمانی فیشو و همگام سازی حساب استفاده کنید',
                    wecom: 'با هویت عضو WeCom احراز هویت کنید',
                },
                planned: 'برنامه ریزی شده است',
                plannedTitle: 'تنظیمات احراز هویت {0}',
                plannedDesc: 'این ارائه دهنده احراز هویت برنامه ریزی شده است و هنوز در دسترس نیست.',
                oidc: {
                    accessMode: 'حالت اتصال',
                    accessModeDesc:
                        'هر زمان که ارائه دهنده هویت از آن پشتیبانی می کند، از Discovery استاندارد استفاده کنید.',
                    actionCreate: 'کاربر ایجاد کنید',
                    actionKeepName: 'نام کاربری فعلی را حفظ کنید',
                    actionPending: 'منتظر نتیجه',
                    actionReject: 'رد ورود',
                    actionUpdate: 'اطلاعات هویتی را به روز کنید',
                    advanced: 'تنظیمات پیشرفته',
                    advancedDesc:
                        'پیش فرض های ایمن را حفظ کنید مگر اینکه ارائه دهنده به گزینه سازگاری نیاز داشته باشد.',
                    assignDefaultRole: 'نقش پیش فرض را تعیین کنید: {role}',
                    authorizationEndpoint: 'Authorization Endpoint',
                    authorizationEndpointInvalid: 'یک Authorization Endpoint معتبر وارد کنید.',
                    authorizationFlow: 'جریان مجوز',
                    automatic: 'خودکار',
                    automaticPolicy: 'سیاست کنترل خودکار',
                    automaticPolicyDesc: 'این قوانین توسط بک‌اند اجرا می‌شوند و گزینه‌های قابل تنظیم توسط مدیر نیستند.',
                    basic: 'تنظیمات پایه',
                    basicDesc: 'حالت ارائه دهنده را انتخاب کنید، سپس مشتری و پاسخ به تماس را پیکربندی کنید.',
                    browserTest: 'آزمون ورود در مرورگر',
                    browserTestConflict: 'هویت تأیید شد، اما نام کاربری تداخل دارد',
                    browserTestConflictHelper:
                        'نام کاربری نگاشت‌شده متعلق به هویت دیگری است و به‌طور خودکار متصل نمی‌شود.',
                    browserTestExpired: 'تست مرورگر منقضی شد',
                    browserTestExpiredHelper: 'یک آزمایش مرورگر جدید را شروع کنید و مجوز را قبل از انقضا کامل کنید.',
                    browserTestFailed: 'تست مرورگر ناموفق بود',
                    browserTestFailedHelper:
                        'پیش‌نمایش هویت تکمیل نشد. خطای بومی‌سازی‌شده بازگشتی از بک‌اند را بررسی کنید.',
                    browserTestIsolation:
                        'این فرایند یک رفت‌وبرگشت واقعی مجوز را انجام می‌دهد، اما کاربری ایجاد یا به‌روزرسانی نمی‌کند، نقشی اختصاص نمی‌دهد و نشست ورود واقعی ایجاد نمی‌کند.',
                    browserTestPopupBlocked:
                        'به پنجره‌های بازشو برای این سایت اجازه دهید، سپس تست مرورگر را دوباره شروع کنید.',
                    browserTestPopupClosed: 'پنجره مجوز قبل از اتمام آزمایش بسته شد.',
                    browserTestSuccess: 'تأیید ارائه‌دهنده با موفقیت انجام شد',
                    browserTestSuccessHelper: 'نگاشت هویت بدون تغییر کاربران یا جلسات پیش نمایش شد.',
                    browserTestTitle: 'ورود آزمایشی مرورگر OIDC',
                    browserTestWaiting: 'در انتظار تأیید ارائه‌دهنده',
                    browserTestWaitingHelper:
                        'ورود به سیستم را در پنجره مرورگر جدید کامل کنید. این صفحه به طور خودکار به روز می شود.',
                    callbackCopied: 'URL بازگشت OIDC کپی شد.',
                    callbackURL: 'URL بازگشت',
                    callbackURLHelper:
                        'این نشانی را به فهرست نشانی‌های بازگشت مجاز کلاینت در ارائه‌دهنده هویت اضافه کنید.',
                    cancelClearSecret: 'لغو پاکسازی',
                    clearSecret: 'پاک کردن Client Secret',
                    clearSecretConfirm: 'Client Secret فقط پس از ذخیره حذف خواهد شد. ادامه دهید؟',
                    clientAuthMethod: 'روش احراز هویت مشتری',
                    clientAuthMethodHelper:
                        'روش احراز هویت پیکربندی‌شده برای این کلاینت در ارائه‌دهنده هویت را انتخاب کنید.',
                    clientAuthMethodRequired: 'یک روش احراز هویت مشتری را انتخاب کنید.',
                    clientID: 'Client ID',
                    clientIDRequired: 'Client ID را وارد کنید.',
                    clientSecret: 'Client Secret',
                    clockSkew: 'تحمل اختلاف زمانی توکن',
                    clockSkewHelper:
                        'اختلاف زمانی اندکی میان ارائه‌دهنده هویت و 1Panel را مجاز می‌کند. مقدار پیش‌فرض 60 ثانیه را حفظ کنید.',
                    clockSkewRequired: 'تحمل اختلاف زمانی توکن را وارد کنید.',
                    compatibilityMode: 'حالت سازگاری',
                    compatibilityModeHelper:
                        'فقط برای Discovery ناقص یا نقاط پایانی بازنویسی شده استفاده کنید. اعتبار سنجی Core OIDC همچنان فعال است.',
                    configurationFailedHelper:
                        'آزمایش ناموفق بود. صفحه فقط خطای بومی‌سازی‌شده بازگشتی از بک‌اند را نمایش می‌دهد.',
                    configurationFailedTag: 'تست ناموفق بود',
                    configurationHighRiskPassed: 'پیکربندی تصویب شد، اما حاوی گزینه‌های سازگاری پرخطر است.',
                    configurationHighRiskTag: 'پیکربندی پرخطر تصویب شد',
                    configurationNotTested: 'پیکربندی فعلی آزمایش نشده است.',
                    configurationNotTestedTag: 'تست نشده',
                    configurationPassed: 'پیکربندی فعلی بررسی‌های امنیتی و قابلیت را پشت سر گذاشت.',
                    configurationPassedTag: 'آزمون قبول شد',
                    configurationStaleHelper: 'پیکربندی تغییر کرده است. پیش از ذخیره دوباره آن را آزمایش کنید.',
                    configurationStaleTag: 'نتیجه منقضی شده است',
                    configurationTestMeta:
                        'در {time} آزمایش شد و در {duration} میلی‌ثانیه تکمیل شد. پاسخ خام ارائه‌دهنده ذخیره نمی‌شود.',
                    configurationTestResult: 'نتیجه تست پیکربندی',
                    configurationTestResultDesc:
                        'این فقط Discovery و قابلیت ها را بررسی می کند. کد مجوز را مبادله نمی کند یا Client Secret را اثبات نمی کند. از لاگین آزمایشی مرورگر برای تایید سرتاسر استفاده کنید.',
                    configurationTestSuccess: 'تست پیکربندی OIDC با موفقیت انجام شد.',
                    configurationTesting: 'آزمایش پیکربندی فعلی OIDC…',
                    configurationTestingTag: 'تست کردن',
                    configureSecret: 'پیکربندی Client Secret',
                    conflictExistingRename: 'subject متصل، نام کاربری جدیدی را برمی‌گرداند که قبلاً استفاده شده است.',
                    conflictExistingRenameResult:
                        'User.Name موجود را حفظ کنید و به کاربر مقید اجازه ورود به سیستم را بدهید',
                    conflictLDAP: 'کاربر LDAP',
                    conflictLocal: 'کاربر محلی',
                    conflictNewAvailable: 'subject جدید و نام کاربری نگاشت‌شده در دسترس هستند',
                    conflictNewAvailableResult: 'یک کاربر سازمانی ایجاد کنید و نقش پیش فرض را تعیین کنید',
                    conflictNone: 'بدون درگیری',
                    conflictOIDC: 'هویت دیگر OIDC',
                    conflictOccupied: 'نام کاربری نگاشت‌شده متعلق به کاربر محلی، کاربر LDAP یا هویت OIDC دیگری است.',
                    conflictOccupiedResult: 'رد هویت جدید؛ هرگز به طور خودکار متصل یا ادغام نمی شود',
                    conflictType: 'نوع تضاد',
                    connectionSecurity: 'امنیت اتصال',
                    connectionSecurityDesc:
                        'خط‌مشی TLS برای درخواست‌های Discovery، Token، JWKS، و UserInfo اعمال می‌شود.',
                    connectionTest: 'تست اتصال و پیکربندی',
                    connectionTestCompatibilityDesc: 'نقاط پایانی سفارشی و خط‌مشی امنیتی پروتکل را اعتبارسنجی کنید.',
                    connectionTestStandardDesc: 'نقاط پایانی و قابلیت ها به طور خودکار از Issuer کشف می شوند.',
                    connectionTestTab: 'آزمون اتصال',
                    customCA: 'CA سفارشی',
                    customCAHelper: 'فقط برای این منبع احراز هویت اعمال می شود و هرگز در گزارش ها نوشته نمی شود.',
                    customCARequired: 'گواهی سفارشی CA را ارائه دهید.',
                    defaultRole: 'نقش پیش فرض',
                    defaultRoleHelper:
                        'فقط هنگام ایجاد کاربر برای نخستین بار اختصاص می‌یابد؛ ورودهای بعدی نقش را تغییر نمی‌دهند.',
                    defaultRolePlaceholder: 'یک نقش را انتخاب کنید',
                    defaultRoleRequired: 'یک نقش پیش فرض معتبر انتخاب کنید.',
                    disableAfterSave: 'OIDC پس از ذخیره غیرفعال می شود.',
                    disableConfirm: 'غیرفعال کردن OIDC بلافاصله دسترسی کاربران این منبع را باطل می کند. ادامه دهید؟',
                    disableDiscardConfirm:
                        'غیرفعال کردن OIDC یک اقدام اضطراری است: فقط ورودی ورود به سیستم را می بندد و بلافاصله دسترسی کاربران این منبع را باطل می کند. سایر تغییرات ذخیره نشده در این صفحه، از جمله تغییرات Client Secret، نادیده گرفته خواهند شد. ادامه دهید؟',
                    disableTitle: 'OIDC را غیرفعال کنید',
                    disabled: 'غیرفعال',
                    discoveryAllowlist: 'فهرست مجاز امنیتی Discovery',
                    enable: 'فعال‌سازی',
                    enableAfterSave: 'OIDC پس از ذخیره موفقیت آمیز فعال می شود.',
                    enabled: 'فعال',
                    endSessionEndpoint: 'End Session Endpoint',
                    endSessionEndpointHelper:
                        'برای استفاده در آینده ذخیره می‌شود؛ خروج از سیستم آغازشده توسط ارائه‌دهنده در این نسخه گنجانده نشده است.',
                    endSessionEndpointInvalid: 'یک End Session Endpoint معتبر وارد کنید.',
                    endpointDiscoveryPlaceholder: 'پس از آزمایش اتصال نمایش داده می‌شود',
                    firstLogin: 'ابتدا وارد شوید',
                    firstLoginPolicy: 'یک کاربر سازمانی محلی ایجاد کنید و نقش پیش فرض پیکربندی شده را تعیین کنید.',
                    fixedAuthorizationCode: 'Authorization Code Flow',
                    fixedNoTokenPersistence: 'Token، Claims، و verifier هرگز باقی نمی مانند',
                    fixedSecurityPolicy: 'همیشه اجرا می شود؛ بدون نیاز به پیکربندی',
                    fixedStateNonce: 'یکبار مصرف state و nonce',
                    fixedTokenValidation: 'امضای ID Token و اعتبار Claims',
                    highRiskSaveConfirm:
                        'این پیکربندی فعال شامل گزینه‌های سازگاری پرخطر است. تأیید کنید که محیط ایزوله به آنها نیاز دارد.',
                    highRiskTitle: 'پیکربندی پرخطر OIDC',
                    hs256Compatibility: 'HS256 (سازگاری)',
                    hs256KeyHelper:
                        'HS256 همیشه از Client Secret این منبع استفاده می کند و کلید امضای جداگانه را نمی پذیرد.',
                    hs256Warning:
                        'HS256 برای امضای ID Token از یک راز متقارن مشترک استفاده می‌کند. فقط زمانی از آن استفاده کنید که ارائه‌دهنده نتواند از الگوریتم نامتقارن استفاده کند.',
                    identityBindingPolicy:
                        'هویت به AuthSourceID + issuer + subject متصل است. تطابق نام کاربری هرگز حساب دیگری را به‌طور خودکار متصل نمی‌کند.',
                    identityMissing: 'هویت غیرفعال',
                    issuer: 'Issuer URL',
                    issuerHelper: 'مقدار ID Token است و Discovery issuer باید دقیقاً با این مقدار مطابقت داشته باشد.',
                    issuerInvalid: 'یک HTTP یا HTTPS Issuer URL معتبر بدون پرس و جو یا قطعه وارد کنید.',
                    issuerRequired: 'Issuer URL را وارد کنید.',
                    jwksRotation: 'چرخش خودکار JWKS',
                    jwksURI: 'JWKS URI',
                    jwksURIHelper: 'زمانی که منبع کلید JWKS باشد برای امضای نامتقارن مورد نیاز است.',
                    jwksURIInvalid: 'یک JWKS URI معتبر برای منبع کلید امضای انتخاب شده وارد کنید.',
                    keepExistingRole: 'نقش های موجود و مجوزهای محلی را حفظ کنید',
                    localSecurityData: 'داده های امنیتی محلی',
                    localSecurityDataPolicy: 'هرگز نقش‌ها، MFA، API Keys، Passkeys یا مجوزهای محلی را بازنویسی نکنید.',
                    localCredentialsManaged:
                        'نام کاربری و رمز عبور محلی توسط OIDC مدیریت می‌شوند و در اینجا قابل ویرایش نیستند. نقش‌ها، مجوزها، MFA، API Keys و Passkeys محلی باقی می‌مانند.',
                    localUserFields: 'فیلدهای کاربری محلی',
                    localUserFieldsDesc:
                        'اولین نسخه فقط User.Name را نقشه برداری می کند و از عبارت نقشه برداری JSON استفاده نمی کند.',
                    loginWith: 'ورود با {provider}',
                    manualEndpoints: 'نقاط پایانی سفارشی',
                    manualEndpointsDesc:
                        'فقط زمانی استفاده کنید که Discovery ناقص باشد یا یک دروازه بالادست نقاط انتهایی را بازنویسی کند.',
                    mappingResult: 'نتیجه نقشه برداری',
                    mode: 'حالت اتصال',
                    modeRequired: 'یک حالت اتصال را انتخاب کنید.',
                    nameClaim: 'Claim نام کاربری',
                    nameClaimHelper: 'فیلد حاوی نام کاربری، مانند preferred_username، را وارد کنید.',
                    nameClaimRequired: 'Claim نام کاربری را وارد کنید.',
                    nameConflict: 'خط مشی تضاد نام',
                    panelURL: 'URL عمومی 1Panel',
                    panelURLHTTPWarning:
                        'HTTP از پاسخ مجوز محافظت نمی‌کند. فقط در محیط خصوصی ایزوله‌ای که ارائه‌دهنده می‌پذیرد از آن استفاده کنید.',
                    panelURLHelper:
                        'نشانی دسترسی کاربران به 1Panel را وارد کنید. این نشانی برای ایجاد نشانی بازگشت استفاده می‌شود.',
                    panelURLInvalid: 'مبدایی را وارد کنید که فقط شامل طرح، میزبان و پورت اختیاری است.',
                    panelURLRequired: 'URL عمومی 1Panel را وارد کنید.',
                    pkceDisabled: 'غیرفعال (فقط سازگاری)',
                    pkceDisabledWarning: 'غیرفعال کردن PKCE حفاظت در برابر رهگیری کد مجوز را کاهش می دهد.',
                    pkceHelper: 'S256 را ترجیح دهید. روش چالش plain هرگز ارائه نمی شود.',
                    pkceS256: 'S256 (توصیه می شود)',
                    plannedHandling: 'جابجایی برنامه ریزی شده',
                    privateNetworkIdP: 'IdP شبکه خصوصی',
                    privateNetworkIdPHelper:
                        'به صراحت آدرس های خصوصی را مجاز می کند. ابرداده، لوپ بک، پیوند محلی، تغییر مسیرها و پیوند مجدد DNS مسدود می‌مانند.',
                    privateNetworkWarning: 'دسترسی به شبکه خصوصی برای این منبع احراز هویت فعال است.',
                    protocolCompatibility: 'سازگاری پروتکل',
                    protocolCompatibilityDesc: 'اعتبار سنجی امضای ID Token هرگز نمی تواند غیرفعال شود.',
                    providerAndClient: 'ارائه‌دهنده و کلاینت',
                    providerAndClientDesc:
                        'Client Secret فقط می تواند جایگزین یا پاک شود و هرگز توسط صفحه بازگردانده نمی شود.',
                    providerCapabilities: 'قابلیت‌های ارائه‌دهنده',
                    recentTestSuccess: 'آخرین آزمایش موفق: {0}',
                    recommended: 'توصیه می شود',
                    rejectPlain: 'plain رد شد',
                    replaceSecret: 'راز را جایگزین کنید',
                    requestAndClaims: 'درخواست ها و صفات',
                    requestAndClaimsDesc: 'دامنه‌های مجوز، تکمیل اطلاعات کاربر و پارامترهای درخواست را پیکربندی کنید.',
                    requestTimeout: 'مهلت زمانی درخواست',
                    requestTimeoutRequired: 'زمان درخواست را وارد کنید.',
                    restore: 'بازیابی',
                    restored: 'آخرین تنظیمات ذخیره شده OIDC بازیابی شدند.',
                    result: 'نتیجه',
                    rolesLoadFailed: 'نقش ها بارگیری نشدند. قبل از انتخاب نقش پیش فرض، دوباره امتحان کنید.',
                    roleHandling: 'رسیدگی به نقش',
                    scenario: 'سناریو',
                    scopes: 'دامنه‌های مجوز',
                    scopesHelper: 'باید شامل openid باشد. دامنه‌های متعدد را با فاصله جدا کنید.',
                    scopesRequired: 'Scopes باید شامل openid باشد.',
                    seconds: 'ثانیه',
                    secretClearHelper:
                        'پس از پاکسازی، قبل از اینکه OIDC بتواند دوباره فعال شود، یک Client Secret جدید لازم است.',
                    secretConfigured: 'پیکربندی شده است',
                    secretNotConfigured: 'پیکربندی نشده است',
                    secretPlaceholder: 'یک Client Secret جدید وارد کنید',
                    secretReplaceHelper:
                        'مقدار جدید هنگام ذخیره جایگزین مقدار قبلی می‌شود. Client Secret را در Provider OIDC نیز به‌روزرسانی کنید.',
                    secretRequiredHelper: 'قبل از فعال کردن OIDC یک Client Secret را پیکربندی کنید.',
                    secretRequiredToEnable: 'قبل از فعال کردن OIDC یک Client Secret را پیکربندی کنید.',
                    secretSavedHelper: 'به‌صورت رمزگذاری‌شده ذخیره می‌شود. برای حفظ رمز فعلی، فیلد را خالی بگذارید.',
                    secretWaiting: 'در انتظار ورودی',
                    secretWillClear: 'پاک خواهد شد',
                    secretWillReplace: 'جایگزین خواهد شد',
                    signingAlgorithm: 'الگوریتم امضای ID Token',
                    signingAlgorithmHelper: 'فقط الگوریتم‌های موجود در لیست مجوزهای امنیتی Backend در دسترس هستند.',
                    signingKey: 'کلید امضا',
                    signingKeyClientSecret: 'Client Secret (فقط HS256)',
                    signingKeyJWKS: 'JWKS URI با چرخش خودکار',
                    signingKeySource: 'منبع کلید امضا',
                    signingKeySourceHelper: 'JWKS را ترجیح دهید. یک کلید عمومی ثابت نمی تواند به طور خودکار بچرخد.',
                    signingKeyStatic: 'کلید عمومی ثابت JWK یا PEM',
                    standardDiscovery: 'استاندارد OIDC Discovery',
                    standardDiscoveryDesc: '1Panel نقاط پایانی و قابلیت‌ها را کشف می‌کند و سند خام را ذخیره نمی‌کند.',
                    standardMode: 'حالت استاندارد',
                    standardModeHelper: 'نقاط پایانی، قابلیت‌های امضا و پشتیبانی PKCE را از Issuer کشف کنید.',
                    standardProtocolPolicy: 'خط مشی پروتکل استاندارد',
                    standardProtocolPolicyDesc:
                        'قابلیت های امضا به طور خودکار مذاکره می شود. هیچ کلید امضایی در اینجا وارد نشده است.',
                    staticSigningKey: 'کلید عمومی امضای ایستا',
                    staticSigningKeyHelper:
                        'فقط کلید عمومی پذیرفته می‌شود. هنگام تغییر کلید ارائه‌دهنده، آن را به‌صورت دستی جایگزین کنید.',
                    staticSigningKeyPlaceholder: 'یک کلید عمومی JWK، JWKS JSON، یا PEM جایگذاری کنید',
                    staticSigningKeyRequired: 'کلید عمومی امضای ثابت را ارائه دهید.',
                    staticSigningKeyWarning:
                        'کلید امضای ثابت نمی‌تواند خودکار بچرخد. پیش از چرخش کلیدهای ارائه‌دهنده، آن را به‌روزرسانی کنید.',
                    settingLoadFailed: 'تنظیمات OIDC بارگیری نشد',
                    settingLoadFailedHelper:
                        'فرم قفل شده است تا از ذخیره یک پیکربندی پیش فرض خالی روی تنظیمات فعلی جلوگیری شود. پس از بازیابی اتصال دوباره سعی کنید.',
                    subsequentLogin: 'ورود بعدی',
                    subsequentLoginPolicy:
                        'اتصال را با subject پیدا کنید و فقط زمانی که نام کاربری جدید در دسترس است User.Name را به‌روزرسانی کنید.',
                    testBeforeBrowserTest: 'قبل از شروع تست ورود به مرورگر، پیکربندی فعلی را آزمایش کنید.',
                    testBeforeEnable: 'پیش از ذخیره تغییرات پیکربندی، پیکربندی فعلی را آزمایش کنید.',
                    testConfiguration: 'آزمون پیکربندی',
                    testDiscovery: 'آزمون Discovery',
                    tlsCustomCA: 'HTTPS · گواهی سفارشی CA',
                    tlsPrivateHTTP: 'HTTP · فقط شبکه خصوصی (خطرناک)',
                    tlsPrivateHTTPWarning:
                        'HTTP هیچ رمزگذاری حمل و نقلی ارائه نمی دهد و محدود به اهداف خصوصی مجاز است.',
                    tlsSkipVerify: 'HTTPS · رد شدن از تأیید گواهی (خطرناک)',
                    tlsSystem: 'HTTPS · تأیید گواهی سیستم (توصیه می شود)',
                    tokenEndpoint: 'Token Endpoint',
                    tokenEndpointInvalid: 'یک Token Endpoint معتبر وارد کنید.',
                    transportSecurity: 'امنیت حمل و نقل',
                    transportSecurityHelper:
                        'HTTPS را ترجیح دهید. HTTP خصوصی همچنین به دسترسی صریح private-network نیاز دارد.',
                    unsavedChanges: 'تغییرات ذخیره‌نشده OIDC وجود دارد.',
                    usedClaim: 'Claim استفاده شده است',
                    userInfoEndpoint: 'UserInfo Endpoint',
                    userInfoEndpointHelper:
                        'اگر فیلد نام کاربری موجود نباشد، سیستم آن را از این نقطه پایانی دریافت می‌کند؛ برای عدم تکمیل، خالی بگذارید.',
                    userInfoEndpointInvalid: 'یک UserInfo Endpoint معتبر وارد کنید.',
                    userMapping: 'تنظیمات کاربر',
                    userMappingDesc:
                        'نگاشت نام کاربری OIDC و گره و نقش پیش‌فرض مورد استفاده برای ایجاد کاربر در نخستین ورود را تنظیم کنید.',
                },
                saml2: {
                    actionCreate: 'کاربر ایجاد کنید',
                    actionPending: 'منتظر نتیجه',
                    actionReject: 'رد ورود',
                    actionReuse: 'استفاده از کاربر پیوندخورده',
                    assignDefaultRole: 'نقش پیش فرض را تعیین کنید: {role}',
                    basic: 'تنظیمات پایه',
                    basicDesc: 'گزینه‌های رایج مورد نیاز بیشتر ارائه‌دهندگان استاندارد SAML2 را پیکربندی کنید.',
                    browserTest: 'آزمایش ورود',
                    browserTestConflict: 'هویت تأیید شد، اما نام کاربری تداخل دارد',
                    browserTestConflictHelper:
                        'نام کاربری نگاشت‌شده متعلق به هویت دیگری است و به‌طور خودکار متصل نمی‌شود.',
                    browserTestExpired: 'تست مرورگر منقضی شد',
                    browserTestExpiredHelper: 'یک آزمایش مرورگر جدید را شروع کنید و مجوز را قبل از انقضا کامل کنید.',
                    browserTestFailed: 'تست مرورگر ناموفق بود',
                    browserTestFailedHelper:
                        'پیش‌نمایش هویت تکمیل نشد. خطای بومی‌سازی‌شده بازگشتی از بک‌اند را بررسی کنید.',
                    browserTestIsolation:
                        'این فرایند یک رفت‌وبرگشت واقعی مجوز را انجام می‌دهد، اما کاربری ایجاد یا به‌روزرسانی نمی‌کند، نقشی اختصاص نمی‌دهد و نشست ورود واقعی ایجاد نمی‌کند.',
                    browserTestPopupBlocked:
                        'به پنجره‌های بازشو برای این سایت اجازه دهید، سپس تست مرورگر را دوباره شروع کنید.',
                    browserTestPopupClosed: 'پنجره مجوز قبل از اتمام آزمایش بسته شد.',
                    browserTestSuccess: 'تأیید ارائه‌دهنده با موفقیت انجام شد',
                    browserTestSuccessHelper: 'نگاشت هویت بدون تغییر کاربران یا جلسات پیش نمایش شد.',
                    browserTestTitle: 'ورود آزمایشی مرورگر SAML2',
                    browserTestWaiting: 'در انتظار تأیید ارائه‌دهنده',
                    browserTestWaitingHelper:
                        'ورود به سیستم را در پنجره مرورگر جدید کامل کنید. این صفحه به طور خودکار به روز می شود.',
                    certificateFileInvalid: 'یک فایل گواهی معتبر با فرمت PEM، CRT یا CER انتخاب کنید.',
                    configured: 'پیکربندی شده',
                    configurationFailedHelper:
                        'آزمایش ناموفق بود. صفحه فقط خطای بومی‌سازی‌شده بازگشتی از بک‌اند را نمایش می‌دهد.',
                    configurationNotTested: 'پیکربندی فعلی آزمایش نشده است.',
                    configurationPassed: 'پیکربندی فعلی بررسی‌های امنیتی و قابلیت را پشت سر گذاشت.',
                    configurationStaleHelper: 'تنظیمات حساس به احراز هویت تغییر کرد. دوباره پیش نویس فعلی را تست کنید.',
                    configurationTestSuccess: 'تست پیکربندی SAML2 با موفقیت انجام شد.',
                    configurationTesting: 'آزمایش پیکربندی فعلی SAML2…',
                    conflictLDAP: 'کاربر LDAP',
                    conflictLocal: 'کاربر محلی',
                    conflictNone: 'بدون درگیری',
                    conflictOIDC: 'هویت دیگر OIDC',
                    conflictSAML2: 'هویت SAML2 دیگر',
                    conflictType: 'نوع تضاد',
                    credentialFileReadFailed: 'فایل اطلاعات اعتبارسنجی قابل خواندن نیست.',
                    credentialFileTooLarge: 'حجم فایل‌های اطلاعات اعتبارسنجی نباید از 256 KiB بیشتر باشد.',
                    credentialsRequired: 'کلید خصوصی و گواهی SP را پیکربندی کنید.',
                    defaultRole: 'نقش کاربر جدید',
                    defaultRoleHelper:
                        'فقط هنگام ایجاد اولیه اختصاص می‌یابد؛ ورودهای بعدی نقش‌ها، MFA و مجوزهای محلی را حفظ می‌کنند.',
                    defaultRolePlaceholder: 'یک نقش را انتخاب کنید',
                    defaultRoleRequired: 'یک نقش پیش فرض معتبر انتخاب کنید.',
                    disableConfirm:
                        'غیرفعال کردن SAML2 بلافاصله ورودهای جدید را رد و نشست‌های کاربران آن را بی‌اعتبار می‌کند. ادامه می‌دهید؟',
                    disableDiscardConfirm:
                        'غیرفعال کردن SAML2 سایر تغییرات ذخیره‌نشده این صفحه را کنار می‌گذارد و بلافاصله نشست‌های کاربران آن را بی‌اعتبار می‌کند. ادامه می‌دهید؟',
                    disableTitle: 'SAML2 را غیرفعال کنید',
                    disabled: 'غیرفعال',
                    enable: 'فعال‌سازی',
                    enabled: 'فعال',
                    idpMetadata: 'فراداده IdP',
                    idpMetadataDesc: 'یک URL وارد کنید یا XML را بچسبانید. اگر هر دو موجود باشند URL اولویت دارد.',
                    keepExistingRole: 'نقش های موجود و مجوزهای محلی را حفظ کنید',
                    loginWith: 'ورود با {provider}',
                    mappingResult: 'نتیجه نقشه برداری',
                    metadataRequired: 'URL یا XML فراداده IdP را وارد کنید.',
                    metadataURLHelper: 'بخش پشتیبان هنگام آزمایش و ذخیره، فراداده را دانلود و اعتبارسنجی می‌کند.',
                    metadataURLInvalid: 'یک URL فراداده HTTPS معتبر و بدون اطلاعات ورود یا قطعه وارد کنید.',
                    metadataURLRecommended: 'URL فراداده (پیشنهادی)',
                    metadataXML: 'XML فراداده',
                    metadataXMLHelper: 'وقتی IdP یک URL فراداده در دسترس ارائه نمی‌کند از این گزینه استفاده کنید.',
                    metadataXMLInvalid: 'XML فراداده EntityDescriptor معتبری وارد کنید.',
                    metadataXMLPlaceholder: '<EntityDescriptor>...</EntityDescriptor> را جای‌گذاری کنید',
                    nameAttribute: 'ویژگی نام کاربری',
                    nameAttributeHelper:
                        'این ویژگی را از SAML Assertion تأییدشده می‌خواند و به نام کاربری 1Panel نگاشت می‌کند.',
                    nameAttributePlaceholder: 'برای مثال: uid، username یا account',
                    nameAttributeRequired: 'ویژگی نام کاربری را وارد کنید.',
                    notConfigured: 'پیکربندی نشده',
                    or: 'یا',
                    pageDesc: 'ورود یکپارچه سازمانی را از طریق فراداده IdP با تنظیمات رایج در یک صفحه متصل کنید.',
                    plannedHandling: 'جابجایی برنامه ریزی شده',
                    privateKeyFileInvalid: 'یک فایل کلید خصوصی PEM معتبر انتخاب کنید.',
                    recentTestSuccess: 'آخرین آزمایش موفق: {0}',
                    restore: 'بازیابی',
                    restored: 'آخرین تنظیمات ذخیره شده SAML2 بازیابی شدند.',
                    roleHandling: 'رسیدگی به نقش',
                    rolesLoadFailed: 'نقش ها بارگیری نشدند. قبل از انتخاب نقش پیش فرض، دوباره امتحان کنید.',
                    selectFile: 'انتخاب فایل',
                    serviceStatus: 'وضعیت سرویس',
                    serviceStatusDesc: 'پیکربندی فعلی باید پیش از فعال‌سازی SAML2 آزمایش را با موفقیت بگذراند.',
                    settingLoadFailed: 'تنظیمات SAML2 بارگیری نشد',
                    settingLoadFailedHelper:
                        'فرم قفل شده است تا از ذخیره یک پیکربندی پیش فرض خالی روی تنظیمات فعلی جلوگیری شود. پس از بازیابی اتصال دوباره سعی کنید.',
                    spCertificate: 'گواهی SP',
                    spCertificateHelper:
                        'در فراداده SP منتشر می‌شود تا IdP بتواند درخواست‌های ورود و خروج را تأیید کند.',
                    spCredentials: 'کلید خصوصی و گواهی SP',
                    spCredentialsDesc:
                        'برای امضای پیام‌های ورود و خروج استفاده می‌شود. سیاست امضا و اعتبارسنجی در بخش پشتیبان ثابت است.',
                    spEntityID: 'SP Entity ID',
                    spEntityIDHelper:
                        'شناسه یکتای SP است. باید با Entity ID یا Audience پیکربندی‌شده در IdP مطابقت داشته باشد و هم‌زمان URL فراداده SP است.',
                    acsURL: 'ACS URL',
                    sloURL: 'SLO URL',
                    spPrivateKey: 'کلید خصوصی SP',
                    spPrivateKeyHelper:
                        'برای امضای AuthnRequest و پیام‌های خروج استفاده می‌شود. در حالت ذخیره رمزنگاری شده و هرگز نمایش داده نمی‌شود.',
                    syncLogout: 'خروج همگام',
                    syncLogoutHelper: 'خروج از 1Panel یا ارائه‌دهنده هویت، نشست سمت دیگر را نیز خاتمه می‌دهد.',
                    testBeforeBrowserTest: 'قبل از شروع تست ورود به مرورگر، پیکربندی فعلی را آزمایش کنید.',
                    testBeforeEnable: 'قبل از فعال کردن یا ذخیره تغییرات حساس، پیکربندی فعلی را آزمایش کنید.',
                    testConfiguration: 'آزمایش پیکربندی',
                    unsavedChanges: 'تغییرات ذخیره‌نشده SAML2 وجود دارد.',
                    usedAttribute: 'نگاشت نام کاربری',
                    usersAndRoles: 'کاربران و نقش‌ها',
                    usersAndRolesDesc:
                        'نگاشت نام کاربری پنل و گره و نقش پیش‌فرض مورد استفاده برای ایجاد کاربر در نخستین ورود را تنظیم کنید.',
                },
                ldap: {
                    basic: 'تنظیمات پایه',
                    loginTitle: 'ورود LDAP',
                    loginWith: 'ورود با LDAP',
                    backToLocalLogin: 'بازگشت به ورود پنل',
                    enable: 'فعال کردن',
                    enabled: 'فعال شد',
                    disabled: 'غیرفعال',
                    connection: 'اتصال اولیه',
                    connectionDesc: 'سرویس دایرکتوری و حساب bind مورد استفاده برای جستجوی کاربران را پیکربندی کنید.',
                    serverURL: 'آدرس سرور',
                    serverURLHelper: 'از URL های ldap:// و ldaps:// پشتیبانی می کند.',
                    userBaseDN: 'کاربر Base DN',
                    userBaseDNHelper: 'شروع DN برای جستجوهای کاربر LDAP. این می تواند یک OU، CN یا ریشه دامنه DN باشد.',
                    bindDN: 'DN را ببندید',
                    bindPassword: 'رمز عبور',
                    passwordSaved: 'برای حفظ رمز عبور ذخیره شده خالی بگذارید',
                    userSearch: 'جستجوی کاربر',
                    userSearchDesc:
                        'پایه و فیلتر جستجوی کاربر را تنظیم کنید، سپس ویژگی LDAP مورد استفاده به عنوان 1Panel name را ترسیم کنید.',
                    userFilter: 'فیلتر کاربر',
                    userFilterTooltip:
                        '%(user)s را با نام کاربری فرار شده جایگزین کنید، یا برای خواندن فهرست کامل، با * استفاده کنید.',
                    userFilterHelper: 'نام‌های کاربری قبل از درج در فیلتر LDAP حذف می‌شوند.',
                    attributeMap: 'نگاشت صفت',
                    attributeMapTooltip: 'نقشه برداری JSON از فیلد 1Panel name به ویژگی LDAP.',
                    attributeMapHelper: 'ویژگی LDAP نگاشت شده را روی فیلد 1Panel name تنظیم کنید.',
                    advanced: 'تنظیمات پیشرفته',
                    advancedDesc: 'صفحه بندی پرس و جو TLS و LDAP را پیکربندی کنید.',
                    strictSync: 'همگام سازی دقیق',
                    strictSyncTooltip:
                        'پس از پردازش کامل، وضعیت احراز هویت کاربرانی که در این منبع LDAP وجود ندارند به «در LDAP یافت نشد» تغییر می‌کند، اما کاربران حذف نمی‌شوند.',
                    strictSyncHelper:
                        'فقط برای پردازش کامل و موفق اعمال می‌شود. وارد کردن کاربران انتخابی وضعیت احراز هویت سایر کاربران را تغییر نمی‌دهد.',
                    skipTLSVerify: 'رد شدن از تأیید TLS',
                    skipTLSVerifyTooltip: 'تأیید گواهی را برای اتصالات LDAPS غیرفعال کنید.',
                    connectTimeout: 'پایان زمان اتصال (ثانیه)',
                    searchPageSize: 'اندازه صفحه پرس و جو LDAP',
                    restore: 'بازیابی کنید',
                    testConnection: 'تست اتصال',
                    testLogin: 'تست ورود',
                    userImport: 'کاربران را وارد کنید',
                    saveBeforeImport: 'تنظیمات فعلی AD/LDAP را قبل از وارد کردن کاربران ذخیره کنید.',
                    format: 'قالب',
                    restoreExample: 'نمونه را بازیابی کنید',
                    mappingValid: 'معتبر JSON; name پیکربندی شده است.',
                    mappingInvalid: 'JSON معتبر وارد کنید.',
                    mappingObject: 'نگاشت ویژگی باید یک شی JSON باشد.',
                    mappingOnlyName: 'فقط نقشه برداری name پشتیبانی می شود.',
                    mappingStringValues: 'هر ویژگی نگاشت شده باید یک رشته باشد.',
                    mappingNameRequired: 'name باید یک رشته غیر خالی باشد.',
                    restored: 'آخرین تنظیمات ذخیره شده بازیابی شدند.',
                    connectionTestSuccess: 'تست اتصال LDAP با موفقیت انجام شد.',
                    recentTestSuccess: 'آخرین آزمایش موفق: {0}',
                    recentTestFailed: 'آخرین آزمایش ناموفق: {0}',
                    serverURLRequired: 'آدرس سرور LDAP را وارد کنید.',
                    serverURLInvalid: 'از یک URL معتبر ldap:// یا ldaps:// استفاده کنید.',
                    userBaseDNRequired: 'کاربر Base DN را وارد کنید.',
                    bindDNRequired: 'Bind DN را وارد کنید.',
                    passwordRequired: 'رمز عبور را وارد کنید.',
                    userFilterRequired: 'فیلتر کاربر را وارد کنید.',
                    connectTimeoutRequired: 'زمان اتصال را وارد کنید.',
                    searchPageSizeRequired: 'اندازه صفحه پرس و جو LDAP را وارد کنید.',
                    sync: {
                        title: 'همگام سازی برنامه ریزی شده',
                        description:
                            'فهرست کامل LDAP را بر اساس یک برنامه زمان بندی بخوانید و کاربران LDAP وارد شده را در 1Panel حفظ کنید.',
                        enable: 'زمانبندی را فعال کنید',
                        enableHelper:
                            'در صورت غیرفعال شدن، اجرای خودکار متوقف می شود. همگام سازی دستی در دسترس باقی می ماند.',
                        schedule: 'برنامه ریزی کنید',
                        daily: 'روزانه',
                        weekly: 'هفتگی',
                        customCron: 'سفارشی Cron',
                        preview: 'پیش نمایش',
                        previewTitle: '5 اجرا بعدی',
                        previewEmpty: 'زمان اجرا در دسترس نیست',
                        cronHelper: 'از عبارت استاندارد پنج فیلدی Cron استفاده کنید: دقیقه، ساعت، روز، ماه، روز هفته.',
                        autoImport: 'وارد کردن کاربران جدید',
                        autoImportHelper:
                            'وقتی غیرفعال است، فقط شناسه‌های دایرکتوری و وضعیت برای کاربران وارداتی LDAP حفظ می‌شود. کاربر جدیدی ایجاد نمی شود',
                        defaultRole: 'نقش کاربر جدید',
                        defaultRolePlaceholder: 'یک نقش را انتخاب کنید',
                        defaultRoleHelper: 'فقط برای کاربران ایجاد شده توسط همگام سازی برنامه ریزی شده اعمال می شود.',
                        defaultRoleRequired: 'نقشی را برای کاربران جدید LDAP انتخاب کنید.',
                        strictSyncHelper:
                            'پس از همگام‌سازی کامل، کاربران غایب در LDAP به‌عنوان «در LDAP یافت نشد» علامت‌گذاری و نشست‌هایشان پاک می‌شود، بدون حذف کاربر، نقش یا مجوز.',
                        runNow: 'اکنون همگام سازی کنید',
                        lastRunSuccess: 'آخرین همگام سازی موفقیت آمیز: {0}',
                        lastRunFailed: 'آخرین همگام سازی ناموفق بود: {0}',
                        lastRunRunning: 'همگام سازی شروع شد: {0}',
                        sourceDisabled: 'قبل از اجرای همگام سازی، AD/LDAP را فعال و ذخیره کنید.',
                        cronRequired: 'عبارت Cron را وارد کنید.',
                        saveBeforeRun: 'قبل از اجرای کار، تنظیمات همگام سازی را ذخیره کنید.',
                        runConfirmTitle: 'همگام سازی دقیق را اجرا کنید',
                        runConfirmDescription:
                            'وضعیت احراز هویت کاربران غایب در پرس‌وجوی کامل LDAP به «در LDAP یافت نشد» تغییر می‌کند و نشست‌های فعال آنها پاک می‌شود. ادامه دهید؟',
                        runSuccess: 'همگام سازی LDAP تکمیل شد.',
                        weekdays: {
                            0: 'یکشنبه',
                            1: 'دوشنبه',
                            2: 'سه شنبه',
                            3: 'چهارشنبه',
                            4: 'پنج شنبه',
                            5: 'جمعه',
                            6: 'شنبه',
                        },
                    },
                    syncLogs: {
                        title: 'همگام سازی گزارش ها',
                        description: 'نتایج همگام سازی زمان بندی شده و دستی LDAP را مرور کنید.',
                        startedAt: 'زمان شروع',
                        trigger: 'نوع اجرا',
                        manual: 'دستی',
                        scheduled: 'برنامه ریزی شده است',
                        success: 'موفقیت',
                        failed: 'شکست خورد',
                        running: 'در حال اجرا',
                        result: 'نتیجه',
                        resultSummary: '{0} ایجاد شد، {1} به‌روزرسانی شد، {2} موجود نیست',
                        duration: 'مدت زمان',
                        action: 'اقدام',
                    },
                    testLoginTitle: 'آزمایش ورود AD/LDAP',
                    testLoginDesc:
                        'فقط برای آزمایش احراز هویت، با یک اعتبار کاربری AD/LDAP متصل شوید. هیچ جلسه 1Panel ایجاد نشده است.',
                    ldapUsername: 'نام کاربری LDAP',
                    usernameRequired: 'نام کاربری LDAP را وارد کنید.',
                    startTest: 'شروع تست',
                    testLoginSuccess: 'احراز هویت با موفقیت انجام شد.',
                    testLoginSuccessWithDN: 'احراز هویت با موفقیت انجام شد. کاربر DN: {0}',
                    import: {
                        title: 'وارد کردن کاربران AD/LDAP',
                        source: 'منبع داده: دایرکتوری AD/LDAP',
                        lastRead: 'آخرین خوانده شده: {0}',
                        cacheHit: 'نتیجه ذخیره شده',
                        keywordPlaceholder: 'جستجوی نام کاربری',
                        search: 'جستجو کنید',
                        refresh: 'از LDAP بخوانید',
                        refreshTip: 'کش کوتاه مدت را نادیده بگیرید و فهرست LDAP را دوباره بخوانید.',
                        loadFailed: 'دایرکتوری LDAP خوانده نشد.',
                        retry: 'دوباره امتحان کنید',
                        noData: 'هیچ کاربر دایرکتوری پیدا نشد.',
                        username: 'نام کاربری',
                        status: 'وضعیت',
                        changes: 'تغییرات',
                        noChanges: 'بدون تغییر',
                        importable: 'آماده واردات',
                        updateAvailable: 'به روز رسانی موجود است',
                        upToDate: 'به روز',
                        conflict: 'تضاد نام',
                        selectedCount: '{0} انتخاب شد',
                        totalCount: '{0} کاربر',
                        newUserRole: 'نقش کاربر جدید',
                        newUserRoleRequired: 'نقشی را برای کاربران جدید انتخاب کنید.',
                        noNewUsers: 'هیچ کاربر جدیدی در این عملیات وجود ندارد.',
                        roleOnlyForNewUsers: 'نقش انتخاب شده فقط برای کاربران تازه ایجاد شده اعمال می شود.',
                        strictOff: 'همگام سازی دقیق غیرفعال است. وارد کردن کامل کاربران را غیرفعال نمی کند.',
                        importSelected: 'وارد کردن/به‌روزرسانی انتخاب شد ({0})',
                        importAll: 'وارد کردن/به‌روزرسانی همه ({0})',
                        previewTitle: 'واردات کامل را تأیید کنید',
                        previewDesc: 'فهرست کامل LDAP خوانده شد. کلمه کلیدی جستجو این عملیات را محدود نمی کند.',
                        created: 'ایجاد کنید',
                        updated: 'به روز رسانی',
                        unchanged: 'بدون تغییر',
                        conflicts: 'درگیری ها',
                        missing: 'غیر فعال کردن',
                        reactivated: 'دوباره فعال کنید',
                        strictWarning:
                            'همگام سازی دقیق فعال است. کاربرانی که در LDAP گم شده اند نمی توانند وارد سیستم شوند، اما سوابق، نقش ها و مجوزهای آنها حفظ می شود.',
                        missingUsers: 'کاربرانی که از LDAP غایب هستند',
                        missingScope: 'فقط این منبع LDAP تحت تأثیر قرار می گیرد.',
                        willDisable: 'غیر فعال خواهد شد',
                        confirmAll: 'واردات را تایید کنید',
                        confirmAllWithMissing: 'درون‌ریزی را تأیید و {0} کاربر را غیرفعال کنید',
                        executeSuccess: 'کاربران LDAP با موفقیت پردازش شدند.',
                        queryExpired: 'نتیجه دایرکتوری منقضی شد. دوباره از LDAP بخوانید.',
                        planIncomplete: 'دایرکتوری کامل خوانده شده ناقص است و قابل اجرا نیست.',
                    },
                },
            },
        },
        app: {
            app: 'برنامه',
            title: 'نام مستعار پنل',
            titleHelper: 'نام مستعار پنل برای نمایش در برنامه (پیش‌فرض نام مستعار پنل) استفاده می‌شود',
            qrCode: 'کد QR',
            apiStatusHelper: 'برنامه پنل نیاز به فعال‌سازی ویژگی رابط API دارد',
            apiInterfaceHelper: 'پشتیبانی از دسترسی به رابط API پنل (برای برنامه پنل باید این ویژگی فعال باشد)',
            apiInterfaceHelper1:
                'دسترسی برنامه پنل نیاز به افزودن بازدیدکننده به لیست سفید دارد؛ برای IP‌های غیر ثابت، توصیه می‌شود 0.0.0.0/0 (همه IPv4)، ::/0 (همه IPv6) اضافه شود',
            qrCodeExpired: 'زمان بازخوانی',
            apiLeakageHelper: 'کد QR را افشا نکنید. مطمئن شوید که فقط در محیط‌های قابل اعتماد استفاده می‌شود.',
        },
        logExport: {
            title: 'خروجی گرفتن از لاگ‌ها',
            records: 'سوابق خروجی',
            retentionDays: 'مدت نگهداری سوابق خروجی',
            timeRange: 'بازه زمانی',
            timeRequired: 'بازه زمانی خروجی را انتخاب کنید',
            websiteRequired: 'یک وب‌سایت انتخاب کنید',
            blackStatus: 'وضعیت فهرست سیاه',
            black: 'مسدود شده',
            notBlack: 'مسدود نشده',
            fuzzy: 'تطبیق تقریبی',
            regex: 'عبارت منظم',
            invalidRegex: 'یک عبارت RE2 معتبر با حداکثر ۲۵۶ نویسه وارد کنید',
            created: 'وظیفه خروجی ایجاد شد',
            fileName: 'نام فایل',
            fileSize: 'اندازه فایل',
            expiresAt: 'زمان انقضا',
            cancelConfirm: 'این وظیفه خروجی لغو شود؟',
            deleteConfirm: 'این سابقه و فایل خروجی حذف شود؟',
        },
        waf: {
            WAF: 'WAF',
            name: 'WAF',
            blackWhite: 'لیست سیاه و سفید',
            globalSetting: 'تنظیمات جهانی',
            websiteSetting: 'تنظیمات وب‌سایت',
            blockRecords: 'رکوردهای مسدودسازی',
            world: 'جهان',
            china: 'چین',
            intercept: 'رهگیری',
            request: 'درخواست‌ها',
            count4xx: 'تعداد 4xx',
            count5xx: 'تعداد 5xx',
            todayStatus: 'وضعیت امروز',
            reqMap: 'نقشه حملات (۳۰ روز گذشته)',
            resource: 'منبع',
            count: 'تعداد',
            hight: 'بالا',
            low: 'پایین',
            reqCount: 'درخواست‌ها',
            interceptCount: 'تعداد رهگیری',
            requestTrends: 'روند درخواست‌ها (۷ روز گذشته)',
            interceptTrends: 'روند رهگیری (۷ روز گذشته)',
            whiteList: 'لیست سفید',
            blackList: 'لیست سیاه',
            ipBlackListHelper: 'IP‌های موجود در لیست سیاه از دسترسی به وب‌سایت مسدود می‌شوند',
            ipWhiteListHelper: 'IP‌های موجود در لیست سفید از همه محدودیت‌ها عبور می‌کنند',
            uaBlackListHelper: 'درخواست‌هایی با مقادیر User-Agent در لیست سیاه مسدود می‌شوند',
            uaWhiteListHelper: 'درخواست‌هایی با مقادیر User-Agent در لیست سفید از همه محدودیت‌ها عبور می‌کنند',
            urlBlackListHelper: 'درخواست‌ها به URL‌های موجود در لیست سیاه مسدود می‌شوند',
            urlWhiteListHelper: 'درخواست‌ها به URL‌های موجود در لیست سفید از همه محدودیت‌ها عبور می‌کنند',
            ccHelper: 'اگر وب‌سایت بیش از {1} درخواست از یک IP در {0} ثانیه دریافت کند، IP به مدت {2} مسدود می‌شود',
            blockTime: 'مدت مسدودسازی',
            attackHelper: 'اگر رهگیری‌های تجمعی بیش از {1} در {0} ثانیه باشد، IP به مدت {2} مسدود می‌شود',
            notFoundHelper:
                'اگر درخواست‌های تجمعی که خطای ۴۰۴ برمی‌گردانند بیش از {1} بار در {0} ثانیه باشد، IP به مدت {2} مسدود می‌شود',
            frequencyLimit: 'محدودیت فرکانس',
            regionLimit: 'محدودیت منطقه',
            defaultRule: 'قوانین پیش‌فرض',
            accessFrequencyLimit: 'محدودیت فرکانس دسترسی',
            attackLimit: 'محدودیت فرکانس حمله',
            notFoundLimit: 'محدودیت فرکانس ۴۰۴',
            urlLimit: 'محدودیت فرکانس URL',
            urlLimitHelper: 'فرکانس دسترسی به یک URL واحد را تنظیم کنید',
            sqliDefense: 'محافظت در برابر تزریق SQL',
            sqliHelper: 'تزریق SQL را در درخواست‌ها تشخیص داده و مسدود کنید',
            xssHelper: 'XSS را در درخواست‌ها تشخیص داده و مسدود کنید',
            xssDefense: 'محافظت در برابر XSS',
            uaDefense: 'قوانین User-Agent مخرب',
            uaHelper: 'شامل قوانینی برای شناسایی ربات‌های مخرب رایج است',
            argsDefense: 'قوانین پارامترهای مخرب',
            argsHelper: 'درخواست‌های حاوی پارامترهای مخرب را مسدود می‌کند',
            cookieDefense: 'قوانین کوکی مخرب',
            cookieHelper: 'حمل کوکی‌های مخرب در درخواست‌ها را ممنوع می‌کند',
            headerDefense: 'قوانین هدر مخرب',
            headerHelper: 'حمل هدرهای مخرب در درخواست‌ها را ممنوع می‌کند',
            httpRule: 'قوانین روش درخواست HTTP',
            httpHelper:
                'نوع روش‌های مجاز برای دسترسی را تنظیم کنید. اگر می‌خواهید برخی از انواع دسترسی را محدود کنید، دکمه آن نوع را خاموش کنید. مثلاً: فقط دسترسی از نوع GET مجاز است، سپس باید دکمه‌های سایر نوع‌ها به جز GET را خاموش کنید',
            geoRule: 'محدودیت دسترسی منطقه‌ای',
            geoHelper:
                'دسترسی به وب‌سایت خود را از برخی مناطق محدود کنید، مثلاً: اگر دسترسی از سرزمین اصلی چین مجاز است، درخواست‌های خارج از سرزمین اصلی چین مسدود می‌شوند',
            regionPolicy: 'سیاست منطقه',
            provincePolicy: 'سیاست استان',
            provinceRuleLabel: 'استان',
            openRestyFeatureVersionAlert: 'برای فعال شدن {0}، نسخه OpenResty باید جدیدتر از 1.31.1.1-0 باشد.',
            ipLocation: 'مکان IP',
            ipLocationSearchHelper: 'موقعیت IP را وارد کنید؛ جست‌وجوی تقریبی پشتیبانی می‌شود',
            action: 'اقدام',
            ruleType: 'نوع حمله',
            ipHelper: 'آدرس IP را وارد کنید',
            attackLog: 'لاگ حمله',
            rule: 'قانون',
            ipArr: 'محدوده IPv4',
            ipStart: 'IP شروع',
            ipEnd: 'IP پایان',
            ipv4: 'IPv4',
            ipv6: 'IPv6',
            urlDefense: 'قوانین URL',
            urlHelper: 'URL ممنوع',
            dirFilter: 'فیلتر دایرکتوری',
            sqlInject: 'تزریق SQL',
            xss: 'XSS',
            webshell: 'WebShell',
            phpExec: 'اجرای اسکریپت PHP',
            oneWordTrojan: 'تروژان یک کلمه‌ای',
            appFilter: 'فیلتر دایرکتوری خطرناک',
            webShell: 'Webshell',
            args: 'پارامترهای مخرب',
            protocolFilter: 'فیلتر پروتکل',
            javaFilter: 'فیلتر فایل خطرناک جاوا',
            scannerFilter: 'فیلتر اسکنر',
            escapeFilter: 'فیلتر فرار',
            customRule: 'قوانین سفارشی',
            httpMethod: 'فیلتر روش HTTP',
            fileExt: 'محدودیت آپلود فایل',
            fileExtHelper: 'پسوندهای فایل ممنوع برای آپلود',
            deny: 'ممنوع',
            allow: 'مجاز',
            allowOnly: 'فقط مجاز',
            field: 'شیء',
            pattern: 'شرط',
            ruleContent: 'محتوا',
            contain: 'شامل',
            equal: 'مساوی',
            regex: 'عبارت منظم',
            notEqual: 'نامساوی',
            customRuleHelper: 'بر اساس شرایط مشخص شده اقدام کنید',
            actionAllow: 'مجاز',
            blockIP: 'مسدود کردن IP',
            code: 'کد وضعیت بازگشت',
            noRes: 'قطع اتصال (۴۴۴)',
            badReq: 'پارامترهای نامعتبر (۴۰۰)',
            forbidden: 'دسترسی ممنوع (۴۰۳)',
            serverErr: 'خطای سرور (۵۰۰)',
            resHtml: 'صفحه پاسخ',
            allowHelper: 'اجازه دسترسی از قوانین بعدی WAF عبور می‌کند، لطفاً با احتیاط استفاده کنید',
            captcha: 'تأیید انسان-ماشین',
            fiveSeconds: 'تأیید ۵ ثانیه‌ای',
            location: 'منطقه',
            redisConfig: 'پیکربندی Redis',
            redisHelper: 'فعال‌سازی Redis برای ماندگاری IP‌های مسدود شده موقت',
            wafHelper: 'همه وب‌سایت‌ها پس از بسته شدن محافظت را از دست می‌دهند',
            websiteWafHelper: 'این وب‌سایت پس از بسته شدن محافظت را از دست می‌دهد',
            attackIP: 'IP مهاجم',
            attackParam: 'جزئیات حمله',
            execRule: 'قانون برخورد',
            acl: 'ACL',
            sql: 'تزریق SQL',
            cc: 'محدودیت فرکانس دسترسی',
            isBlocking: 'مسدود شده',
            isFree: 'رفع مسدودیت',
            unLock: 'رفع مسدودیت',
            unLockHelper: 'رفع مسدودیت IP: {0}؟',
            saveDefault: 'ذخیره پیش‌فرض',
            saveToWebsite: 'اعمال به وب‌سایت',
            saveToWebsiteHelper: 'تنظیمات فعلی به همه وب‌سایت‌ها اعمال شود؟ ',
            websiteHelper:
                'در اینجا تنظیمات پیش‌فرض برای ایجاد وب‌سایت است. تغییرات باید به وب‌سایت اعمال شوند تا اعمال شوند',
            websiteHelper2:
                'در اینجا تنظیمات پیش‌فرض برای ایجاد وب‌سایت است. لطفاً پیکربندی خاص را در وب‌سایت تغییر دهید',
            ipGroup: 'گروه IP',
            ipGroupHelper: 'هر خط یک IP یا محدوده IP، پشتیبانی از IPv4 و IPv6، مثلاً: 192.168.1.1 یا 192.168.1.0/24',
            ipBlack: 'لیست سیاه IP',
            openRestyAlert: 'نسخه OpenResty باید بالاتر از {0} باشد',
            initAlert:
                'برای اولین استفاده نیاز به راه‌اندازی است، فایل پیکربندی وب‌سایت تغییر می‌کند و پیکربندی WAF قبلی از بین می‌رود. حتماً از OpenResty پشتیبان‌گیری کنید',
            initHelper:
                'عملیات راه‌اندازی پیکربندی WAF موجود را پاک می‌کند. آیا مطمئن هستید که می‌خواهید راه‌اندازی کنید؟ ',
            mainSwitch: 'کلید اصلی',
            websiteSwitch: 'کلید',
            websiteAlert: 'لطفاً ابتدا یک وب‌سایت ایجاد کنید',
            defaultUrlBlack: 'قوانین URL',
            htmlRes: 'صفحه رهگیری',
            urlSearchHelper: 'URL را برای جستجوی فازی وارد کنید',
            hostSearchHelper: 'Host را برای جستجوی فازی وارد کنید',
            toCreate: 'ایجاد',
            closeWaf: 'بستن WAF',
            closeWafHelper: 'بستن WAF باعث از دست رفتن محافظت وب‌سایت می‌شود، آیا ادامه می‌دهید؟',
            addblack: 'سیاه',
            addwhite: 'سفید',
            addblackHelper: 'آیا IP:{0} به لیست سیاه پیش‌فرض اضافه شود؟',
            addwhiteHelper: 'آیا IP:{0} به لیست سفید پیش‌فرض اضافه شود؟',
            defaultUaBlack: 'قانون User-Agent',
            defaultIpBlack: 'گروه IP مخرب',
            cookie: 'قوانین کوکی',
            urlBlack: 'لیست سیاه URL',
            uaBlack: 'لیست سیاه User-Agent',
            attackCount: 'محدودیت فرکانس حمله',
            fileExtCheck: 'محدودیت آپلود فایل',
            geoRestrict: 'محدودیت دسترسی منطقه‌ای',
            originProtect: 'محافظت از مبدأ CDN',
            attacklog: 'رکورد رهگیری',
            unknownWebsite: 'دسترسی به دامنه غیرمجاز',
            geoRuleEmpty: 'منطقه نمی‌تواند خالی باشد',
            unknown: 'وب‌سایت وجود ندارد',
            geo: 'محدودیت منطقه',
            revertHtml: 'بازگردانی {0} به عنوان صفحه پیش‌فرض؟',
            five_seconds: 'تأیید ۵ ثانیه‌ای',
            header: 'قوانین هدر',
            methodWhite: 'قوانین HTTP',
            expiryDate: 'تاریخ انقضا',
            expiryDateHelper: 'پس از عبور از تأیید، در مدت اعتبار دیگر تأیید نمی‌شود',
            defaultIpBlackHelper: 'برخی IP‌های مخرب جمع‌آوری شده از اینترنت برای جلوگیری از دسترسی',
            notFoundCount: 'محدودیت فرکانس ۴۰۴',
            matchValue: 'مقدار تطابق',
            headerName: 'پشتیبانی از کاراکترهای غیر ویژه با شروع انگلیسی، اعداد، -، طول ۳-۳۰',
            cdnHelper: 'وب‌سایت‌های استفاده‌کننده از CDN می‌توانند در اینجا باز شوند تا IP مبدأ صحیح به دست آید',
            clearLogWarn: 'پاک‌سازی لاگ ممکن نیست، ادامه می‌دهید؟',
            commonRuleHelper: 'قانون تطابق فازی است',
            blockIPHelper:
                'IP‌های مسدود شده به طور موقت در OpenResty ذخیره می‌شوند و با راه‌اندازی مجدد OpenResty آزاد می‌شوند. می‌توانند از طریق عملکرد مسدودسازی به طور دائمی مسدود شوند',
            addWhiteUrlHelper: 'آیا URL {0} به لیست سفید اضافه شود؟',
            dashHelper: 'نسخه انجمن همچنین می‌تواند از عملکردهای موجود در تنظیمات جهانی و تنظیمات وب‌سایت استفاده کند',
            wafStatusHelper: 'دیواره آتش فعال نیست. حفاظت امنیتی وب‌سایت متوقف شده است. به زودی آن را فعال کنید.',
            enableProtection: 'فعال‌سازی محافظت',
            ccMode: 'حالت',
            global: 'حالت جهانی',
            uriMode: 'حالت URL',
            globalHelper:
                'حالت جهانی: زمانی فعال می‌شود که تعداد کل درخواست‌ها به هر URL در یک واحد زمان از آستانه تجاوز کند',
            uriModeHelper:
                'حالت URL: زمانی فعال می‌شود که تعداد درخواست‌ها به یک URL واحد در یک واحد زمان از آستانه تجاوز کند',
            ip: 'لیست سیاه IP',
            globalSettingHelper:
                'تنظیمات با برچسب [وب‌سایت] باید در [تنظیمات وب‌سایت] فعال شوند و تنظیمات جهانی فقط تنظیمات پیش‌فرض برای وب‌سایت‌های تازه ایجاد شده هستند',
            globalSettingHelper2:
                'تنظیمات باید هم در [تنظیمات جهانی] و هم در [تنظیمات وب‌سایت] به طور همزمان فعال شوند',
            urlCCHelper: 'بیش از {1} درخواست به این URL در {0} ثانیه، این IP را به مدت {2} مسدود می‌کند',
            urlCCHelper2: 'URL نمی‌تواند شامل پارامتر باشد',
            notContain: 'شامل نباشد',
            urlcc: 'محدودیت فرکانس URL',
            method: 'نوع درخواست',
            addIpsToBlock: 'مسدودسازی دسته‌ای IP',
            addIpSegmentToBlock: 'مسدود کردن بخش IP',
            addIpSegmentsToBlock: 'مسدودسازی دسته‌ای بخش‌های IP',
            addUrlsToWhite: 'افزودن دسته‌ای URL به لیست سفید',
            noBlackIp: 'IP از قبل مسدود شده است، نیازی به مسدودسازی مجدد نیست',
            noWhiteUrl: 'URL از قبل در لیست سفید است، نیازی به افزودن مجدد نیست',
            spiderIpHelper:
                'در صورت فعال بودن، فقط خزنده‌های انتخاب‌شده مجازند؛ با غیرفعال کردن، دسترسی همه خزنده‌ها مسدود می‌شود.',
            spiderIp: 'مجموعه IP عنکبوت',
            spider: 'عنکبوت',
            spiderAllowlist: 'خزنده‌های مجاز',
            spiderAllowlistEmpty: 'هیچ خزنده‌ای انتخاب نشده است. با ذخیره، دسترسی همه خزنده‌ها مسدود می‌شود.',
            geoIp: 'کتابخانه آدرس IP',
            geoIpHelper: 'برای تأیید موقعیت جغرافیایی IP استفاده می‌شود',
            stat: 'گزارش حمله',
            statTitle: 'گزارش',
            attackIp: 'IP',
            attackCountNum: 'تعداد',
            percent: 'درصد',
            addblackUrlHelper: 'آیا URL: {0} به لیست سیاه پیش‌فرض اضافه شود؟',
            rce: 'اجرای کد از راه دور',
            software: 'نرم‌افزار',
            cveHelper: 'شامل آسیب‌پذیری‌های نرم‌افزارها و فریم‌ورک‌های رایج است',
            vulnCheck: 'قوانین تکمیلی',
            ssrf: 'آسیب‌پذیری SSRF',
            afr: 'خواندن فایل دلخواه',
            ua: 'دسترسی غیرمجاز',
            id: 'افشای اطلاعات',
            aa: 'دور زدن احراز هویت',
            dr: 'پیمایش دایرکتوری',
            xxe: 'آسیب‌پذیری XXE',
            suid: 'آسیب‌پذیری سریال‌سازی',
            dos: 'آسیب‌پذیری محرومیت از سرویس',
            afd: 'دانلود فایل دلخواه',
            sqlInjection: 'تزریق SQL',
            afw: 'نوشتن فایل دلخواه',
            il: 'نشت اطلاعات',
            clearAllLog: 'پاک‌سازی همه لاگ‌ها',
            exportLog: 'خروجی لاگ‌ها',
            appRule: 'قوانین برنامه',
            appRuleHelper:
                'قوانین برنامه رایج، فعال‌سازی می‌تواند هشدارهای نادرست را کاهش دهد، هر وب‌سایت فقط می‌تواند از یک قانون استفاده کند',
            logExternal: 'حذف انواع رکورد',
            ipWhite: 'لیست سفید IP',
            urlWhite: 'لیست سفید URL',
            uaWhite: 'لیست سفید User-Agent',
            logExternalHelper:
                'انواع رکورد حذف شده در لاگ‌ها ثبت نمی‌شوند، لیست سیاه/سفید، محدودیت دسترسی منطقه‌ای و قوانین سفارشی لاگ‌های زیادی تولید می‌کنند، توصیه می‌شود حذف شوند',
            ssti: 'حمله SSTI',
            crlf: 'تزریق CRLF',
            strict: 'حالت سخت‌گیرانه',
            strictHelper: 'از قوانین سخت‌گیرانه‌تر برای تأیید درخواست‌ها استفاده کنید',
            executionStrategy: 'راهبرد اجرا',
            detectionStrength: 'شدت تشخیص',
            protectionMode: 'حالت محافظت',
            observationMode: 'حالت مشاهده',
            standardMode: 'حالت استاندارد',
            observationModeHelper: 'درخواست‌ها را بدون مسدود کردن شناسایی و ثبت می‌کند',
            observationModeConfirm:
                'در حالت مشاهده، تمام موارد منطبق WAF فقط ثبت می‌شوند و درخواست‌ها مسدود نمی‌شوند. ادامه می‌دهید؟',
            globalStrictRequired: 'ابتدا حالت سخت‌گیرانه را در تنظیمات سراسری فعال کنید',
            observe: 'مشاهده',
            websiteSearchHelper: 'دامنه، نام مستعار یا توضیحات وب‌سایت را وارد کنید',
            configReadFailed: 'بارگذاری پیکربندی ناموفق بود',
            detailSetting: 'تنظیمات دقیق',
            saveLog: 'ذخیره لاگ',
            remoteURLHelper: 'URL از راه دور باید تضمین کند که هر خط یک IP است و هیچ کاراکتر دیگری ندارد',
            notFound: 'یافت نشد (۴۰۴)',
            serviceUnavailable: 'سرویس در دسترس نیست (۵۰۳)',
            gatewayTimeout: 'مهلت دروازه (۵۰۴)',
            belongToIpGroup: 'متعلق به گروه IP است',
            notBelongToIpGroup: 'متعلق به گروه IP نیست',
            unknownWebsiteKey: 'دامنه ناشناخته',
            special: 'ویژه',
            fileToLarge: 'فایل بیش از ۱ مگابایت است و قابل آپلود نیست',
            uploadOverLimit: 'فایل آپلود شده از حد تعداد فراتر رفته است، حداکثر ۱ فایل',
            importRuleHelper: 'هر خط یک قانون',
        },
        monitor: {
            '360': 'جستجوی ۳۶۰',
            name: 'نظارت وب‌سایت',
            pv: 'بازدید صفحه',
            uv: 'بازدیدکننده یکتا',
            flow: 'ترافیک',
            ip: 'IP',
            spider: 'عنکبوت',
            visitors: 'روند بازدیدکنندگان',
            today: 'امروز',
            last7days: '۷ روز گذشته',
            last30days: '۳۰ روز گذشته',
            uvMap: 'نقشه بازدیدکنندگان (۳۰ روز)',
            qps: 'درخواست‌های بلادرنگ (در دقیقه)',
            flowSec: 'ترافیک بلادرنگ (در دقیقه)',
            excludeCode: 'رد کردن کدهای وضعیت',
            excludeUrl: 'رد کردن URL‌ها',
            excludeExt: 'رد کردن پسوندها',
            cdnHelper: 'IP واقعی را از هدر ارائه شده توسط CDN دریافت کنید',
            reqRank: 'رتبه‌بندی بازدید',
            refererDomain: 'دامنه مرجع',
            os: 'سیستم عامل',
            browser: 'مرورگر/کلاینت',
            device: 'دستگاه',
            showMore: 'بیشتر',
            unknown: 'سایر',
            pc: 'رایانه',
            mobile: 'دستگاه موبایل',
            wechat: 'وی‌چت',
            machine: 'ماشین',
            tencent: 'مرورگر تنسنت',
            ucweb: 'مرورگر UC',
            '2345explorer': 'مرورگر ۲۳۴۵',
            huaweibrowser: 'مرورگر هوآوی',
            log: 'لاگ‌های درخواست',
            statusCode: 'کد وضعیت',
            requestTime: 'زمان پاسخ',
            flowRes: 'ترافیک پاسخ',
            method: 'روش درخواست',
            statusCodeHelper: 'کد وضعیت را در بالا وارد کنید',
            statusCodeError: 'نوع کد وضعیت نامعتبر است',
            methodHelper: 'روش درخواست را در بالا وارد کنید',
            all: 'همه',
            baidu: 'بایدو',
            google: 'گوگل',
            bing: 'بینگ',
            bytes: 'تایتلز امروز',
            sogou: 'سوگو',
            failed: 'خطا',
            ipCount: 'تعداد IP',
            spiderCount: 'درخواست‌های عنکبوت',
            averageReqTime: 'میانگین زمان پاسخ',
            totalFlow: 'مجموع ترافیک',
            logSize: 'اندازه فایل لاگ',
            realIPType: 'روش دریافت IP واقعی',
            realIPRecognition: 'شناسایی IP واقعی',
            fromHeader: 'دریافت از هدر HTTP',
            fromHeaders: 'دریافت از لیست هدرها',
            header: 'هدر HTTP',
            cdnConfig: 'پیکربندی CDN',
            xff1: 'پروکسی سطح اول از X-Forwarded-For',
            xff2: 'پروکسی سطح دوم از X-Forwarded-For',
            xff3: 'پروکسی سطح سوم از X-Forwarded-For',
            xffHelper:
                'مثلاً: X-Forwarded-For: <client>,<proxy1>,<proxy2>,<proxy3> پروکسی سطح بالاتر آخرین IP <proxy3> را می‌گیرد',
            headersHelper: 'IP واقعی را از هدرهای HTTP CDN رایج دریافت می‌کند و اولین مقدار موجود را انتخاب می‌کند',
            monitorCDNHelper: 'تغییر پیکربندی CDN برای نظارت وب‌سایت، تنظیمات CDN WAF را نیز به‌روزرسانی می‌کند',
            wafCDNHelper: 'تغییر پیکربندی CDN WAF، تنظیمات CDN نظارت وب‌سایت را نیز به‌روزرسانی می‌کند',
            originProtection: 'محافظت از سرور مبدأ',
            originProtectionHelper:
                'فقط گره‌های CDN در گروه‌های IP انتخاب‌شده می‌توانند به مبدأ متصل شوند. تشخیص IP واقعی بازدیدکننده کلید جداگانه دارد.',
            originProtectionIPGroups: 'گروه‌های IP بازگشت CDN',
            originProtectionIPGroupsPlaceholder: 'گروه‌های IP مورد اعتماد CDN را انتخاب کنید',
            originProtectionWarning:
                'پیکربندی نادرست ممکن است وب‌سایت را از دسترس خارج کند. مطمئن شوید همه آدرس‌های بازگشت CDN اضافه شده‌اند.',
            originProtectionEnableConfirm:
                'اتصال‌های خارج از گروه‌های IP انتخاب‌شده دسترسی مستقیم به مبدأ محسوب و مسدود می‌شوند. ادامه می‌دهید؟',
            statusErr: 'فرمت کد وضعیت نامعتبر است',
            shenma: 'جستجوی شنما',
            duckduckgo: 'داک‌داک‌گو',
            yandex: 'Yandex',
            gptbot: 'GPTBot',
            excludeUri: 'رد کردن URI‌ها',
            top100Helper: 'نمایش ۱۰۰ داده برتر',
            logSaveDay: 'دوره نگهداری لاگ (روز)',
            cros: 'سیستم عامل کروم',
            theworld: 'مرورگر TheWorld',
            edge: 'مایکروسافت اج',
            maxthon: 'مرورگر مکس‌تون',
            monitorStatusHelper: 'نظارت وب‌سایت در حال حاضر غیرفعال است. اکنون آن را فعال کنید',
            excludeIp: 'رد کردن آدرس‌های IP',
            excludeUa: 'رد کردن User-Agent',
            remotePort: 'پورت از راه دور',
            unknown_browser: 'ناشناخته',
            unknown_os: 'ناشناخته',
            unknown_device: 'ناشناخته',
            logSaveSize: 'حداکثر اندازه ذخیره لاگ',
            logSaveSizeHelper: 'این اندازه ذخیره لاگ برای یک وب‌سایت است',
            '360se': 'مرورگر امنیتی ۳۶۰',
            websites: 'لیست وب‌سایت‌ها',
            trend: 'آمار روند',
            reqCount: 'تعداد درخواست',
            uriHelper: 'برای رد کردن Uri می‌توانید از /test/* یا /*/index.php استفاده کنید',
        },
        tamper: {
            tamper: 'محافظت در برابر دستکاری وب‌سایت',
            tamperCreateHint:
                'دایرکتوری فعلی ممکن است تحت تأثیر محافظت در برابر دستکاری یا ویژگی‌های فایل باشد و ایجاد با خطا مواجه شود.',
            ignoreTemplate: 'الگوی حذف',
            protectTemplate: 'الگوی محافظت',
            ignoreTemplateHelper:
                'قوانین حذف را با Enter یا فاصله جدا کنید. (دایرکتوری خاص ./log یا نام دایرکتوری tmp. برای حذف یک فایل، مسیر فایل خاص را وارد کنید، مانند ./data/test.html)',
            protectTemplateHelper:
                'قوانین محافظت را با Enter یا فاصله جدا کنید. (فایل خاص ./index.html، پسوند فایل .html، نوع فایل js. برای محافظت از یک دایرکتوری، مسیر دایرکتوری خاص را وارد کنید، مانند ./log)',
            templateContent: 'محتوای قالب',
            template: 'قالب',
            saveTemplate: 'ذخیره به عنوان قالب',
            tamperHelper1:
                'برای وب‌سایت‌های مستقر شده با یک کلیک، توصیه می‌شود محافظت در برابر دستکاری را برای دایرکتوری برنامه فعال کنید. اگر وب‌سایت نمی‌تواند به طور عادی کار کند یا پشتیبان‌گیری یا بازیابی با شکست مواجه شد، ابتدا محافظت در برابر دستکاری را غیرفعال کنید.',
            tamperHelper2:
                'این کار عملیات خواندن، نوشتن، حذف، تغییر مجوز و مالک را روی فایل‌های محافظت شده در دایرکتوری‌های حذف نشده محدود می‌کند.',
            tamperPath: 'دایرکتوری محافظت',
            tamperPathEdit: 'تغییر مسیر',
            log: 'لاگ رهگیری',
            totalProtect: 'مجموع محافظت',
            todayProtect: 'محافظت امروز',
            templateRule: 'طول باید ۱-۵۱۲ باشد و نام نمی‌تواند شامل کاراکترهایی مانند {0} باشد.',
            ignore: 'حذف',
            ignoreHelper:
                'قوانین حذف را با Enter یا فاصله جدا کنید. (دایرکتوری خاص ./log یا نام دایرکتوری tmp. برای حذف یک فایل، مسیر فایل خاص را وارد کنید، مانند ./data/test.html)',
            protect: 'محافظت',
            protectHelper:
                'قوانین محافظت را با Enter یا فاصله جدا کنید. (فایل خاص ./index.html، پسوند فایل .html، نوع فایل js. برای محافظت از یک دایرکتوری، مسیر دایرکتوری خاص را وارد کنید، مانند ./log)',
            tamperHelper00: 'حذف و محافظت فقط از مسیرهای نسبی پشتیبانی می‌کنند.',
            tamperHelper01:
                'پس از فعال‌سازی محافظت در برابر دستکاری، سیستم عملیات ایجاد، ویرایش و حذف را روی فایل‌های محافظت شده در دایرکتوری‌های حذف نشده محدود می‌کند.',
            tamperHelper02: 'اولویت: محافظت مسیر خاص > حذف مسیر خاص > محافظت > حذف',
            tamperHelper03:
                'عملیات نظارت فقط دایرکتوری‌های حذف نشده را هدف قرار می‌دهند و ایجاد فایل‌های محافظت نشده در این دایرکتوری‌ها را نظارت می‌کنند.',
            disableHelper: 'در حال غیرفعال‌سازی محافظت در برابر دستکاری برای وب‌سایت‌های زیر، ادامه می‌دهید؟',
            appendOnly: 'فقط افزودن',
            appendOnlyHelper:
                'عملیات حذف را برای فایل‌های این دایرکتوری محدود می‌کند و فقط اجازه افزودن دایرکتوری‌های حذف شده یا فایل‌های محافظت نشده را می‌دهد',
            immutable: 'غیرقابل تغییر',
            immutableHelper: 'عملیات ویرایش، حذف، تغییر مجوز و مالک را برای این فایل محدود می‌کند',
            onWatch: 'نظارت',
            onWatchHelper:
                'ایجاد فایل‌های محافظت شده یا دایرکتوری‌های حذف نشده را در این دایرکتوری نظارت و رهگیری می‌کند',
            forceStop: 'بستن اجباری',
            forceStopHelper: 'در حال بستن اجباری عملکرد ضد دستکاری برای این دایرکتوری وب‌سایت. ادامه می‌دهید؟',
        },
        setting: {
            setting: 'تنظیمات پنل',
            title: 'توضیحات پنل',
            titleHelper:
                'در صفحه ورود کاربر نمایش داده می‌شود (مثلاً پنل مدیریت عملیات سرور لینوکس، توصیه می‌شود ۸-۱۵ کاراکتر)',
            logo: 'لوگو (بدون متن)',
            logoHelper:
                'در گوشه بالا سمت چپ صفحه مدیریت زمانی که منو جمع شده است نمایش داده می‌شود (اندازه توصیه شده تصویر: ۸۲px*82px)',
            logoWithText: 'لوگو (با متن)',
            logoWithTextHelper:
                'در گوشه بالا سمت چپ صفحه مدیریت زمانی که منو باز است نمایش داده می‌شود (اندازه توصیه شده تصویر: ۱۸۵px*55px)',
            favicon: 'آیکون وب‌سایت',
            faviconHelper: 'آیکون وب‌سایت (اندازه توصیه شده تصویر: ۱۶px*16px)',
            setDefault: 'بازگردانی پیش‌فرض',
            setHelper: 'تنظیمات فعلی ذخیره می‌شوند. ادامه می‌دهید؟',
            setDefaultHelper: 'همه تنظیمات پنل به پیش‌فرض بازگردانده می‌شوند. ادامه می‌دهید؟',
            logoGroup: 'لوگو',
            imageGroup: 'تصویر',
            loginImage: 'تصویر',
            loginImageHelper: 'در صفحه ورود نمایش داده می‌شود (اندازه توصیه شده تصویر: ۵۰۰*416px)',
            loginBgType: 'نوع پس‌زمینه',
            loginBgImage: 'تصویر پس‌زمینه',
            loginBgImageHelper:
                'به عنوان تصویر پس‌زمینه در صفحه ورود نمایش داده می‌شود (اندازه توصیه شده تصویر: ۱۹۲۰*1080px)',
            loginBgColor: 'رنگ پس‌زمینه',
            loginBgColorHelper: 'به عنوان رنگ پس‌زمینه در صفحه ورود نمایش داده می‌شود',
            image: 'تصویر',
            bgColor: 'رنگ پس‌زمینه',
            loginGroup: 'صفحه ورود',
            loginBtnLinkColor: 'رنگ دکمه/لینک',
            loginBtnLinkColorHelper: 'به عنوان رنگ دکمه/لینک در صفحه ورود نمایش داده می‌شود',
        },
        helper: {
            wafTitle1: 'نقشه رهگیری',
            wafContent1: 'توزیع جغرافیایی رهگیری‌ها را در ۳۰ روز گذشته نمایش می‌دهد',
            wafTitle2: 'محدودیت دسترسی منطقه‌ای',
            wafContent2: 'منابع دسترسی وب‌سایت را بر اساس موقعیت جغرافیایی محدود کنید',
            wafTitle3: 'صفحه رهگیری سفارشی',
            wafContent3: 'یک صفحه سفارشی برای نمایش پس از رهگیری درخواست ایجاد کنید',
            wafTitle4: 'قوانین سفارشی (ACL)',
            wafContent4: 'درخواست‌ها را بر اساس قوانین سفارشی رهگیری کنید',
            tamperTitle1: 'نظارت بر یکپارچگی فایل',
            tamperContent1:
                'یکپارچگی فایل‌های وب‌سایت، از جمله فایل‌های هسته، فایل‌های اسکریپت و فایل‌های پیکربندی را نظارت کنید.',
            tamperTitle2: 'اسکن و تشخیص بلادرنگ',
            tamperContent2: 'با اسکن بلادرنگ سیستم فایل وب‌سایت، فایل‌های غیرعادی یا دستکاری شده را تشخیص دهید.',
            tamperTitle3: 'تنظیمات مجوز امنیتی',
            tamperContent3:
                'دسترسی به فایل‌های وب‌سایت را از طریق تنظیمات مجوز مناسب و سیاست‌های کنترل دسترسی محدود کنید و سطح حمله بالقوه را کاهش دهید.',
            tamperTitle4: 'ثبت و تحلیل لاگ',
            tamperContent4:
                'دسترسی و عملیات فایل را برای حسابرسی بعدی و تحلیل توسط مدیران و همچنین شناسایی تهدیدات امنیتی بالقوه ثبت کنید.',
            settingTitle1: 'پیام خوش‌آمدگویی سفارشی',
            settingContent1: 'یک پیام خوش‌آمدگویی سفارشی در صفحه ورود 1Panel تنظیم کنید.',
            settingTitle2: 'لوگوی سفارشی',
            settingContent2: 'اجازه آپلود تصاویر لوگو حاوی نام تجاری یا متن دیگر را بدهید.',
            settingTitle3: 'آیکون وب‌سایت سفارشی',
            settingContent3: 'اجازه آپلود آیکون‌های سفارشی برای جایگزینی آیکون پیش‌فرض مرورگر، بهبود تجربه کاربری.',
            monitorTitle1: 'روند بازدیدکنندگان',
            monitorContent1: 'روند بازدیدکنندگان وب‌سایت را آماری و نمایش می‌دهد',
            monitorTitle2: 'نقشه بازدیدکنندگان',
            monitorContent2: 'توزیع جغرافیایی بازدیدکنندگان وب‌سایت را آماری و نمایش می‌دهد',
            monitorTitle3: 'آمار دسترسی',
            monitorContent3:
                'اطلاعات درخواست وب‌سایت، از جمله عنکبوت‌ها، دستگاه‌های دسترسی، وضعیت درخواست و غیره را آماری می‌کند.',
            monitorTitle4: 'نظارت بلادرنگ',
            monitorContent4:
                'اطلاعات درخواست وب‌سایت را به صورت بلادرنگ، از جمله تعداد درخواست‌ها، ترافیک و غیره نظارت می‌کند.',
            alertTitle1: 'هشدار پیامکی',
            alertContent1:
                'هنگامی که استفاده از منابع سرور غیرعادی، انقضای وب‌سایت و گواهی، نسخه جدید به‌روزرسانی، انقضای رمز عبور و غیره رخ دهد، کاربران از طریق هشدار پیامکی مطلع می‌شوند تا پردازش به موقع تضمین شود.',
            alertTitle2: 'لاگ هشدار',
            alertContent2:
                'کاربران را با قابلیت مشاهده لاگ‌های هشدار برای تسهیل ردیابی و تحلیل رویدادهای هشدار تاریخی فراهم می‌کند.',
            alertTitle3: 'تنظیمات هشدار',
            alertContent3:
                'کاربران را با پیکربندی شماره تلفن سفارشی، فرکانس ارسال روزانه و زمان ارسال روزانه فراهم می‌کند و تنظیم هشدارهای منطقی‌تر را برای کاربران آسان‌تر می‌سازد.',
            nodeDashTitle1: 'مدیریت برنامه',
            nodeDashContent1:
                'مدیریت یکپارچه برنامه‌های چند گره، پشتیبانی از نظارت بر وضعیت، شروع/توقف سریع، اتصال ترمینال و پشتیبان‌گیری',
            nodeDashTitle2: 'مدیریت وب‌سایت',
            nodeDashContent2:
                'مدیریت یکپارچه وب‌سایت‌های چند گره، نظارت بر وضعیت بلادرنگ، پشتیبانی از شروع/توقف دسته‌ای و پشتیبان‌گیری سریع',
            nodeDashTitle3: 'مدیریت پایگاه داده',
            nodeDashContent3:
                'مدیریت یکپارچه پایگاه‌های داده چند گره، وضعیت کلیدی در یک نگاه، پشتیبانی از پشتیبان‌گیری یک‌کلیکی',
            nodeDashTitle4: 'مدیریت وظایف زمان‌بندی',
            nodeDashContent4:
                'مدیریت یکپارچه وظایف زمان‌بندی چند گره، پشتیبانی از نظارت بر وضعیت، شروع/توقف سریع و اجرای دستی',
            nodeTitle1: 'افزودن یک‌کلیکی گره',
            nodeContent1: 'سریعاً چندین گره سرور را یکپارچه کنید',
            nodeTitle2: 'ارتقاء دسته‌ای',
            nodeContent2: 'همه گره‌ها را با یک عملیات همگام‌سازی و ارتقاء دهید',
            nodeTitle3: 'نظارت بر وضعیت گره',
            nodeContent3: 'نظارت بر وضعیت عملیاتی هر گره به صورت بلادرنگ',
            nodeTitle4: 'اتصال سریع از راه دور',
            nodeContent4: 'اتصال مستقیم یک‌کلیکی به ترمینال‌های از راه دور گره',
            fileExchangeTitle1: 'انتقال احراز هویت کلید',
            fileExchangeContent1: 'از طریق کلیدهای SSH احراز هویت کنید تا امنیت انتقال تضمین شود.',
            fileExchangeTitle2: 'همگام‌سازی کارآمد فایل',
            fileExchangeContent2:
                'فقط محتوای تغییر یافته را همگام‌سازی کنید تا سرعت انتقال و پایداری به طور قابل توجهی بهبود یابد.',
            fileExchangeTitle3: 'پشتیبانی از ارتباط چند گره',
            fileExchangeContent3:
                'به راحتی فایل‌های پروژه را بین گره‌های مختلف انتقال دهید، مدیریت انعطاف‌پذیر چندین سرور.',
            nodeAppTitle1: 'مدیریت ارتقاء برنامه',
            nodeAppContent1: 'نظارت یکپارچه بر به‌روزرسانی برنامه‌های چند گره، پشتیبانی از ارتقاء یک‌کلیکی',
            appTitle1: 'مدیریت پنل انعطاف‌پذیر',
            appContent1: 'سرور 1Panel خود را هر زمان و هر مکان به راحتی مدیریت کنید.',
            appTitle2: 'اطلاعات جامع سرویس',
            appContent2:
                'برنامه‌های پایه، وب‌سایت‌ها، Docker، پایگاه‌های داده و غیره را مدیریت کنید و به سرعت برنامه‌ها و وب‌سایت‌ها را از طریق برنامه موبایل ایجاد کنید.',
            appTitle3: 'نظارت بر ناهنجاری‌های بلادرنگ',
            appContent3:
                'وضعیت بلادرنگ سرور، نظارت امنیتی WAF، آمار ترافیک وب‌سایت و وضعیت سلامت فرآیند را در برنامه موبایل مشاهده کنید.',
            clusterTitle1: 'استقرار اصلی-برده',
            clusterContent1:
                'پشتیبانی از ایجاد نمونه‌های اصلی-برده MySQL/Postgres/Redis در گره‌های مختلف، تکمیل خودکار ارتباط و راه‌اندازی اولیه اصلی-برده',
            clusterTitle2: 'مدیریت اصلی-برده',
            clusterContent2: 'صفحه یکپارچه برای مدیریت متمرکز چندین گره اصلی-برده، مشاهده نقش‌ها، وضعیت اجرا و غیره.',
            clusterTitle3: 'وضعیت تکرار',
            clusterContent3:
                'وضعیت تکرار اصلی-برده و اطلاعات تأخیر را نمایش می‌دهد و به رفع مشکلات همگام‌سازی کمک می‌کند',
            vllmTitle1: 'مدیریت متمرکز',
            vllmContent1:
                'سرویس‌های vLLM پراکنده را به 1Panel بیاورید تا دید یکپارچه از نمونه‌ها، نسخه‌ها، وضعیت و مسیرهای زمان اجرا داشته باشید.',
            vllmTitle2: 'استقرار سریع',
            vllmContent2:
                'از یک فرم بصری برای پیکربندی انتخاب نسخه، نصب مدل و پارامترهای راه‌اندازی با هماهنگی دستی کمتر استفاده کنید.',
            vllmTitle3: 'کارایی عملیاتی',
            vllmContent3:
                'عملیات ایجاد، ویرایش، شروع، توقف، راه‌اندازی مجدد، حذف و ردیابی وظایف را از یک صفحه مدیریت کنید تا عملیات مدل محلی ساده‌تر شود.',
            vllmTitle4: 'پیکربندی کنترل شده',
            vllmContent4:
                'پورت‌ها، کانتینرها، دستورات راه‌اندازی و تنظیمات Compose را از طریق گزینه‌های پیشرفته استاندارد کنید تا تحویل و تنظیمات بعدی آسان‌تر شود.',
            modelDownloaderTitle1: 'کشف مدل',
            modelDownloaderContent1:
                'مستقیماً مخازن مدل HuggingFace را جستجو کنید و دانلودها، لایک‌ها، جزئیات مدل و لیست فایل‌ها را مشاهده کنید.',
            modelDownloaderTitle2: 'دانلود شتاب‌دهنده',
            modelDownloaderContent2:
                'یک نقطه پایانی شتاب HuggingFace و توکن HF را برای سایت رسمی، آینه‌ها و مدل‌های خصوصی پیکربندی کنید.',
            modelDownloaderTitle3: 'ردیابی وظایف',
            modelDownloaderContent3:
                'صف‌های دانلود، وضعیت وظایف، پیشرفت و خطاها را مرور کنید و از لغو، تلاش مجدد و پاک‌سازی رکوردها پشتیبانی کنید.',
            modelDownloaderTitle4: 'مدیریت محلی',
            modelDownloaderContent4:
                'دایرکتوری‌های مدل محلی را در یک مکان مدیریت کنید، از جمله مسیرها، اندازه‌ها، مهرهای زمانی و حذف فایل‌های مدل استفاده نشده.',
        },
        node: {
            master: 'گره اصلی',
            masterBackup: 'پشتیبان گره اصلی',
            backupNode: 'گره پشتیبان',
            backupFrequency: 'فرکانس پشتیبان‌گیری (ساعت)',
            backupCopies: 'تعداد کپی‌های پشتیبان',
            noBackupNode:
                'گره پشتیبان در حال حاضر خالی است. برای ذخیره، یک گره پشتیبان انتخاب کرده و دوباره تلاش کنید!',
            masterBackupAlert:
                'پشتیبان‌گیری از گره اصلی در حال حاضر پیکربندی نشده است. برای اطمینان از امنیت داده، لطفاً در اسرع وقت یک گره پشتیبان تنظیم کنید تا در صورت خرابی امکان تغییر دستی به گره اصلی جدید فراهم شود.',
            node: 'گره',
            addr: 'آدرس',
            nodeUpgrade: 'تنظیمات به‌روزرسانی',
            nodeUpgradeHelper:
                'گره‌های انتخاب شده پس از اتمام ارتقاء گره اصلی، به طور خودکار شروع به ارتقاء می‌کنند، بدون نیاز به عملیات دستی.',
            nodeUpgradePackageManage: 'مدیریت بسته نصب',
            nodeUpgradePackageClean: 'پاک‌سازی',
            nodeUpgradePackageFormatHelper:
                'فقط بسته‌های نصب `1panel-agent_v*_*` یا `1panel-v*-linux-*` پشتیبانی می‌شوند',
            nodeUpgradePackageHostConfirm: 'فایل سرور {0} انتخاب خواهد شد. ادامه می‌دهید؟',
            nodeUpgradePackageCleanHelper: 'همه بسته‌های به‌روزرسانی نسخه پایین‌تر پاک‌سازی می‌شوند. ادامه می‌دهید؟',
            nodeUpgradeOfflinePackageHelper:
                'در محیط‌های آفلاین، گره‌های با معماری‌های مختلف باید قبل از به‌روزرسانی، بسته به‌روزرسانی متناسب را آپلود کنند.',
            healthCheck: 'بررسی سلامت',
            healthCheckFrequency: 'دوره بررسی خودکار',
            healthCheckFrequencyHelper:
                'سلامت گره‌ها را با دوره تنظیم‌شده به‌صورت خودکار بررسی می‌کند. برای غیرفعال کردن بررسی خودکار، ۰ را وارد کنید.',
            healthCheckFrequencyLimit: 'دوره بررسی نباید بیش از یک روز باشد و باید یک عدد صحیح نامنفی باشد.',
            autoCheckFailedNodes: 'بررسی خودکار گره‌های ناموفق',
            autoCheckFailedNodesHelper:
                'در بررسی خودکار، گره‌های دارای وضعیت ناموفق یا ناسالم نیز بررسی می‌شوند. فقط زمانی اعمال می‌شود که دوره بررسی ۰ نباشد.',
            loadFailedNodeResources: 'به‌روزرسانی منابع گره‌های ناموفق',
            loadFailedNodeResourcesHelper:
                'هنگام به‌روزرسانی فهرست گره‌ها، اطلاعات منابع گره‌های دارای وضعیت ناموفق یا ناسالم نیز دریافت شود.',
            nodeUnhealthy: 'وضعیت گره غیرعادی',
            deletedNode: 'گره حذف شده {0} در حال حاضر از عملیات ارتقاء پشتیبانی نمی‌کند!',
            nodeUnhealthyHelper:
                'وضعیت غیرعادی گره تشخیص داده شد. لطفاً در [مدیریت گره] بررسی کرده و دوباره تلاش کنید!',
            nodeUnbind: 'گره به مجوز متصل نیست',
            nodeUnbindHelper:
                'تشخیص داده شد که این گره به مجوز متصل نیست. لطفاً آن را در [تنظیمات پنل - مجوز] متصل کرده و دوباره تلاش کنید!',
            memTotal: 'مجموع حافظه',
            nodeManagement: 'مدیریت چند ماشینه',
            multiOverview: 'چند ماشینه',
            commonNodes: 'گره‌های پرکاربرد',
            searchNodePlaceholder: 'جستجوی نام گره، گروه یا آدرس',
            nodeItem: 'مدیریت گره',
            panelItem: 'مدیریت پنل',
            addPanel: 'افزودن پنل',
            addPanelHelper:
                'پس از افزودن موفقیت‌آمیز پنل، می‌توانید در [نمای کلی - پنل‌ها] به سرعت به پنل هدف دسترسی داشته باشید.',
            panel: 'پنل 1Panel',
            others: 'سایر پنل‌ها',
            addNode: 'افزودن گره',
            connInfo: 'اطلاعات اتصال',
            nodeInfo: 'اطلاعات گره',
            withProxy: 'فعال‌سازی دسترسی پراکسی',
            withoutProxy: 'غیرفعال‌سازی دسترسی پراکسی',
            withProxyHelper:
                'از پراکسی سیستم {0} نگهداری شده در تنظیمات پنل برای دسترسی به گره‌های زیرین استفاده می‌کند. ادامه می‌دهید؟',
            withoutProxyHelper:
                'استفاده از پراکسی سیستم نگهداری شده در تنظیمات پنل برای دسترسی به گره‌های زیرین متوقف می‌شود. ادامه می‌دهید؟',
            syncInfo: 'همگام‌سازی',
            syncHelper: 'هنگامی که داده‌های گره اصلی تغییر می‌کند، به‌طور بلادرنگ به این گره زیرین همگام‌سازی می‌شود',
            syncBackupAccount: 'تنظیمات حساب پشتیبان',
            syncWithMaster:
                'پس از ارتقاء به نسخه حرفه‌ای، همه داده‌ها به طور پیش‌فرض همگام‌سازی می‌شوند. سیاست‌های همگام‌سازی را می‌توان به صورت دستی در مدیریت گره تنظیم کرد.',
            syncProxy: 'تنظیمات پراکسی سیستم',
            syncProxyHelper: 'همگام‌سازی تنظیمات پراکسی سیستم نیاز به راه‌اندازی مجدد Docker دارد',
            syncProxyHelper1: 'راه‌اندازی مجدد Docker ممکن است بر سرویس‌های کانتینر در حال اجرا تأثیر بگذارد.',
            syncProxyHelper2: 'می‌توانید در صفحه کانتینرها - پیکربندی به صورت دستی راه‌اندازی مجدد کنید.',
            syncProxyHelper3:
                'همگام‌سازی تنظیمات پراکسی سیستم نیاز به راه‌اندازی مجدد Docker دارد که ممکن است بر سرویس‌های کانتینر در حال اجرا تأثیر بگذارد',
            syncProxyHelper4:
                'همگام‌سازی تنظیمات پراکسی سیستم نیاز به راه‌اندازی مجدد Docker دارد. می‌توانید بعداً در صفحه کانتینرها - پیکربندی به صورت دستی راه‌اندازی مجدد کنید.',
            syncCustomApp: 'همگام‌سازی مخزن برنامه سفارشی',
            syncAlertSetting: 'تنظیمات هشدار سیستم',
            syncNodeInfo: 'داده‌های پایه گره،',
            nodeSyncHelper: 'همگام‌سازی اطلاعات گره اطلاعات زیر را همگام‌سازی می‌کند:',
            nodeSyncHelper1: '۱. اطلاعات حساب پشتیبان عمومی',
            nodeSyncHelper2: '۲. اطلاعات اتصال بین گره اصلی و گره‌های زیرین',
            nodeCheck: 'بررسی در دسترس بودن',
            checkSSH: 'بررسی اتصال SSH گره',
            checkUserPermission: 'بررسی مجوزهای کاربر گره',
            isNotRoot: 'تشخیص داده شد که این گره از sudo بدون رمز عبور پشتیبانی نمی‌کند و کاربر فعلی غیر ریشه است',
            checkLicense: 'بررسی وضعیت مجوز گره',
            checkService: 'بررسی اطلاعات سرویس موجود در گره',
            checkPort: 'بررسی دسترسی به پورت گره',
            panelExist:
                'تشخیص داده شد که این گره در حال اجرای سرویس 1Panel V1 است. لطفاً قبل از افزودن، با استفاده از اسکریپت مهاجرت به V2 ارتقاء دهید.',
            coreExist:
                'گره فعلی از قبل به عنوان گره اصلی فعال شده است و نمی‌توان آن را مستقیماً به عنوان گره زیرین اضافه کرد. لطفاً ابتدا آن را به گره زیرین تنزل دهید، سپس دوباره اضافه کنید، برای جزئیات به مستندات مراجعه کنید.',
            agentExist:
                'تشخیص داده شد که 1panel-agent از قبل روی این گره نصب شده است. ادامه باعث می‌شود داده‌های موجود نگهداری شوند و فقط سرویس 1panel-agent جایگزین شود.',
            agentNotExist:
                'تشخیص داده شد که 1panel-agent روی این گره نصب نشده است، بنابراین اطلاعات گره قابل ویرایش مستقیم نیستند. لطفاً آن را حذف کرده و دوباره اضافه کنید.',
            oldDataExist:
                'داده‌های تاریخی 1Panel V2 روی این گره تشخیص داده شد. اطلاعات زیر برای بازنویسی تنظیمات فعلی استفاده می‌شوند:',
            errLicense: 'مجوز متصل به این گره در دسترس نیست. لطفاً بررسی کرده و دوباره تلاش کنید!',
            errNodePort:
                'پورت گره [ {0} ] غیرقابل دسترس تشخیص داده شد. لطفاً بررسی کنید که آیا دیواره آتش یا گروه امنیتی این پورت را باز کرده است.',
            reinstallHelper: 'نصب مجدد گره {0}، ادامه می‌دهید؟',
            unhealthyCheck: 'بررسی غیرعادی',
            fixOperation: 'عملیات تعمیر',
            checkName: 'مورد بررسی',
            checkSSHConn: 'بررسی در دسترس بودن اتصال SSH',
            fixSSHConn: 'ویرایش دستی گره برای تأیید اطلاعات اتصال',
            checkConnInfo: 'بررسی اطلاعات اتصال عامل',
            checkStatus: 'بررسی در دسترس بودن سرویس گره',
            fixStatus: 'برای بررسی در حال اجرا بودن سرویس، "systemctl status 1panel-agent.service" را اجرا کنید.',
            checkAPI: 'بررسی در دسترس بودن API گره',
            fixAPI: 'لاگ‌های گره را بررسی کنید و تأیید کنید که پورت‌های دیواره آتش به درستی باز شده‌اند.',
            forceDelete: 'حذف اجباری',
            operateHelper: 'گره‌های زیر تحت عملیات {0} قرار می‌گیرند، ادامه می‌دهید؟',
            operatePanelHelper: 'پنل‌های زیر تحت عملیات {0} قرار می‌گیرند، ادامه می‌دهید؟',
            forceDeleteHelper: 'حذف اجباری خطاهای حذف گره را نادیده گرفته و فراداده پایگاه داده را حذف می‌کند',
            uninstall: 'حذف داده‌های گره',
            uninstallHelper: 'این کار همه داده‌های مرتبط با 1Panel گره را حذف می‌کند. با احتیاط ادامه دهید!',
            baseDir: 'دایرکتوری نصب',
            baseDirHelper: 'هنگامی که دایرکتوری نصب خالی است، به طور پیش‌فرض در دایرکتوری /opt نصب می‌شود',
            nodePort: 'پورت گره',
            offline: 'حالت آفلاین',
            freeCount: 'سهمیه رایگان [{0}]',
            offlineHelper: 'زمانی که گره در محیط آفلاین است استفاده می‌شود',
            appUpgrade: 'ارتقاء برنامه',
            appUpgradeHelper: '{0} برنامه نیاز به ارتقاء دارند',
            dashboardSetting: 'تنظیمات نمای کلی',
            keepOneDashboardComponent: 'حداقل یک بخش نمای کلی نگهداری کنید',
        },
        customApp: {
            name: 'مخزن برنامه سفارشی',
            appStoreType: 'منبع بسته فروشگاه برنامه',
            appStoreUrl: 'URL مخزن',
            local: 'مسیر محلی',
            remote: 'لینک از راه دور',
            imagePrefix: 'پیشوند تصویر',
            imagePrefixHelper:
                'عملکرد: سفارشی‌سازی پیشوند تصویر و تغییر فیلد تصویر در فایل compose. به عنوان مثال، وقتی پیشوند تصویر روی 1panel/custom تنظیم شود، فیلد تصویر برای MaxKB به 1panel/custom/maxkb:v1.10.0 تغییر می‌کند',
            closeHelper: 'لغو استفاده از مخزن برنامه سفارشی',
            appStoreUrlHelper: 'فقط فرمت .tar.gz پشتیبانی می‌شود',
            postNode: 'همگام‌سازی با گره زیرین',
            postNodeHelper:
                'بسته فروشگاه سفارشی را به tmp/customApp/apps.tar.gz در دایرکتوری نصب گره زیرین همگام‌سازی کنید',
            nodes: 'گره‌ها',
            selectNode: 'انتخاب گره',
            selectNodeError: 'یک گره انتخاب کنید',
            licenseHelper: 'نسخه حرفه‌ای از ویژگی مخزن برنامه سفارشی پشتیبانی می‌کند',
            databaseHelper: 'پایگاه داده مرتبط با برنامه، پایگاه داده گره هدف را انتخاب کنید',
            nodeHelper: 'نمی‌توان گره فعلی را انتخاب کرد',
            migrateHelper:
                'در حال حاضر فقط از مهاجرت برنامه‌های تک‌ساحتی و برنامه‌های مرتبط فقط با پایگاه‌های داده MySQL، MariaDB، PostgreSQL پشتیبانی می‌شود',
            opensslHelper:
                'در صورت استفاده از پشتیبان رمزگذاری شده، نسخه‌های OpenSSL بین دو گره باید یکسان باشند، در غیر این صورت مهاجرت ممکن است ناموفق باشد.',
            installApp: 'نصب دسته‌ای',
            installAppHelper: 'نصب دسته‌ای برنامه‌ها به گره‌های انتخاب شده',
        },
        alert: {
            isAlert: 'هشدار',
            alertCount: 'تعداد هشدار',
            clamHelper: 'هنگام اسکن فایل‌های آلوده، هشدار را فعال کنید',
            cronJobHelper: 'هنگام شکست اجرای وظیفه، هشدار را فعال کنید',
            licenseHelper: 'نسخه تجاری از کانال‌های هشدار اضافی پشتیبانی می‌کند',
            alertCountHelper: 'حداکثر فرکانس هشدار روزانه',
            alert: 'هشدار پیامکی',
            logs: 'لاگ‌های هشدار',
            list: 'لیست هشدارها',
            addTask: 'ایجاد هشدار',
            editTask: 'ویرایش هشدار',
            alertMethod: 'روش',
            alertMsg: 'پیام هشدار',
            alertRule: 'قوانین هشدار',
            titleSearchHelper: 'برای جستجوی فازی عنوان هشدار را وارد کنید',
            taskType: 'نوع',
            ssl: 'انقضای گواهی',
            siteEndTime: 'انقضای وب‌سایت',
            panelPwdEndTime: 'انقضای رمز عبور پنل',
            panelUpdate: 'نسخه جدید پنل موجود است',
            cpu: 'هشدار CPU سرور',
            memory: 'هشدار حافظه سرور',
            load: 'هشدار بار سرور',
            disk: 'هشدار دیسک سرور',
            website: 'وب‌سایت',
            certificate: 'گواهی SSL',
            remainingDays: 'روزهای باقی‌مانده',
            sendCount: 'تعداد ارسال',
            sms: 'پیامک',
            wechat: 'وی‌چت',
            dingTalk: 'دینگ‌تاک',
            feiShu: 'فیشو',
            mail: 'ایمیل',
            email: 'ایمیل',
            weCom: 'WeCom',
            bark: 'Bark',
            sendCountRulesHelper: 'مجموع هشدارهای ارسال شده قبل از انقضا (یک بار در روز)',
            panelUpdateRulesHelper: 'مجموع هشدارهای ارسال شده برای نسخه جدید پنل (یک بار در روز)',
            oneDaySendCountRulesHelper: 'حداکثر هشدارهای ارسال شده در روز',
            siteEndTimeRulesHelper: 'وب‌سایت‌هایی که هرگز منقضی نمی‌شوند هشدار را فعال نمی‌کنند',
            autoRenewRulesHelper:
                'گواهی‌هایی با تمدید خودکار فعال و روزهای باقی‌مانده کمتر از ۳۱ هشدار را فعال نمی‌کنند',
            panelPwdEndTimeRulesHelper: 'هشدار انقضای رمز عبور پنل در صورت عدم تنظیم انقضا در دسترس نیست',
            sslRulesHelper: 'همه گواهی‌های SSL',
            diskInfo: 'دیسک',
            monitoringType: 'نوع نظارت',
            autoRenew: 'تمدید خودکار',
            useDisk: 'استفاده از دیسک',
            usePercentage: 'درصد استفاده',
            changeStatus: 'تغییر وضعیت',
            disableMsg: 'توقف وظیفه هشدار از ارسال پیام‌های هشدار توسط این وظیفه جلوگیری می‌کند. ادامه می‌دهید؟',
            enableMsg: 'فعال‌سازی وظیفه هشدار به این وظیفه اجازه می‌دهد پیام‌های هشدار ارسال کند. ادامه می‌دهید؟',
            useExceed: 'استفاده بیشتر از',
            useExceedRulesHelper: 'هنگامی که استفاده از مقدار تعیین شده بیشتر شود، هشدار را فعال کنید',
            cpuUseExceedAvg: 'میانگین استفاده از CPU از مقدار مشخص شده بیشتر است',
            memoryUseExceedAvg: 'میانگین استفاده از حافظه از مقدار مشخص شده بیشتر است',
            loadUseExceedAvg: 'میانگین استفاده از بار از مقدار مشخص شده بیشتر است',
            cpuUseExceedAvgHelper: 'میانگین استفاده از CPU در زمان مشخص شده از مقدار مشخص شده بیشتر است',
            memoryUseExceedAvgHelper: 'میانگین استفاده از حافظه در زمان مشخص شده از مقدار مشخص شده بیشتر است',
            loadUseExceedAvgHelper: 'میانگین استفاده از بار در زمان مشخص شده از مقدار مشخص شده بیشتر است',
            resourceAlertRulesHelper: 'توجه: هشدارهای پیوسته در ۳۰ دقیقه فقط یک بار ارسال می‌شوند',
            specifiedTime: 'زمان مشخص',
            deleteTitle: 'حذف هشدار',
            deleteMsg: 'آیا مطمئن هستید که می‌خواهید وظیفه هشدار را حذف کنید؟',
            allSslTitle: 'هشدار انقضای گواهی SSL همه وب‌سایت‌ها',
            sslTitle: 'هشدار انقضای گواهی SSL وب‌سایت {0}',
            allSiteEndTimeTitle: 'هشدار انقضای همه وب‌سایت‌ها',
            siteEndTimeTitle: 'هشدار انقضای وب‌سایت {0}',
            panelPwdEndTimeTitle: 'هشدار انقضای رمز عبور پنل',
            panelUpdateTitle: 'اعلان نسخه جدید پنل',
            cpuTitle: 'هشدار استفاده زیاد از CPU',
            memoryTitle: 'هشدار استفاده زیاد از حافظه',
            loadTitle: 'هشدار بار زیاد',
            diskTitle: 'هشدار استفاده زیاد از دیسک برای دایرکتوری اتصال {0}',
            allDiskTitle: 'هشدار استفاده زیاد از دیسک',
            timeRule: 'زمان باقی‌مانده کمتر از {0} روز (در صورت عدم رسیدگی، روز بعد دوباره ارسال می‌شود)',
            panelUpdateRule:
                'هنگامی که نسخه جدید پنل شناسایی شد، یک بار هشدار ارسال کنید (در صورت عدم رسیدگی، روز بعد دوباره ارسال می‌شود)',
            avgRule:
                'میانگین استفاده {1} در {0} دقیقه از {2}% بیشتر است، هشدار را فعال کرده و {3} بار در روز ارسال می‌کند',
            diskRule:
                'استفاده از دیسک برای دایرکتوری اتصال {0} از {1}{2} بیشتر است، هشدار را فعال کرده و {3} بار در روز ارسال می‌کند',
            allDiskRule: 'استفاده از دیسک از {0}{1} بیشتر است، هشدار را فعال کرده و {2} بار در روز ارسال می‌کند',
            cpuName: ' CPU ',
            memoryName: 'حافظه',
            loadName: 'بار',
            diskName: 'دیسک',
            syncAlertInfo: 'ارسال دستی',
            syncAlertInfoMsg: 'وظیفه هشدار به صورت دستی ارسال شود؟',
            pushError: 'ارسال ناموفق',
            pushSuccess: 'ارسال موفق',
            syncError: 'همگام‌سازی ناموفق',
            success: 'هشدار موفق',
            pushing: 'در حال ارسال...',
            error: 'هشدار ناموفق',
            cleanLog: 'پاک‌سازی لاگ‌ها',
            cleanAlertLogs: 'پاک‌سازی لاگ‌های هشدار',
            daily: 'تعداد هشدار روزانه: {0}',
            cumulative: 'تعداد هشدار تجمعی: {0}',
            clams: 'هشدار اسکن ویروس',
            taskName: 'نام وظیفه',
            cronJobType: 'نوع وظیفه',
            clamPath: 'دایرکتوری اسکن',
            cronjob: 'اجرای وظیفه زمان‌بندی {0} ناموفق بود',
            app: 'پشتیبان‌گیری از برنامه',
            web: 'پشتیبان‌گیری از وب‌سایت',
            database: 'پشتیبان‌گیری از پایگاه داده',
            directory: 'پشتیبان‌گیری از دایرکتوری',
            log: 'پشتیبان‌گیری از لاگ‌ها',
            snapshot: 'تصویر لحظه‌ای سیستم',
            clamsRulesHelper: 'وظایف اسکن ویروس که نیاز به هشدار دارند',
            cronJobRulesHelper: 'این نوع وظیفه زمان‌بندی باید پیکربندی شود',
            clamsTitle: 'وظیفه اسکن ویروس « {0} » هشدار فایل آلوده شناسایی شد',
            cronJobAppTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از برنامه « {0} » هشدار شکست وظیفه',
            cronJobWebsiteTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از وب‌سایت « {0} » هشدار شکست وظیفه',
            cronJobDatabaseTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از پایگاه داده « {0} » هشدار شکست وظیفه',
            cronJobDirectoryTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از دایرکتوری « {0} » هشدار شکست وظیفه',
            cronJobLogTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از لاگ‌ها « {0} » هشدار شکست وظیفه',
            cronJobSnapshotTitle: 'وظیفه زمان‌بندی - پشتیبان‌گیری از تصویر لحظه‌ای « {0} » هشدار شکست وظیفه',
            cronJobShellTitle: 'وظیفه زمان‌بندی - اسکریپت شل « {0} » هشدار شکست وظیفه',
            cronJobCurlTitle: 'وظیفه زمان‌بندی - دسترسی به URL « {0} » هشدار شکست وظیفه',
            cronJobCutWebsiteLogTitle: 'وظیفه زمان‌بندی - برش لاگ وب‌سایت « {0} » هشدار شکست وظیفه',
            cronJobCleanTitle: 'وظیفه زمان‌بندی - پاک‌سازی کش « {0} » هشدار شکست وظیفه',
            cronJobNtpTitle: 'وظیفه زمان‌بندی - همگام‌سازی زمان سرور « {0} » هشدار شکست وظیفه',
            clamsRule: 'هشدار فایل آلوده اسکن ویروس شناسایی شد، {0} بار در روز ارسال می‌شود',
            cronJobAppRule: 'هشدار شکست وظیفه پشتیبان‌گیری از برنامه، {0} بار در روز ارسال می‌شود',
            cronJobWebsiteRule: 'هشدار شکست وظیفه پشتیبان‌گیری از وب‌سایت، {0} بار در روز ارسال می‌شود',
            cronJobDatabaseRule: 'هشدار شکست وظیفه پشتیبان‌گیری از پایگاه داده، {0} بار در روز ارسال می‌شود',
            cronJobDirectoryRule: 'هشدار شکست وظیفه پشتیبان‌گیری از دایرکتوری، {0} بار در روز ارسال می‌شود',
            cronJobLogRule: 'هشدار شکست وظیفه پشتیبان‌گیری از لاگ‌ها، {0} بار در روز ارسال می‌شود',
            cronJobSnapshotRule: 'هشدار شکست وظیفه پشتیبان‌گیری از تصویر لحظه‌ای، {0} بار در روز ارسال می‌شود',
            cronJobShellRule: 'هشدار شکست وظیفه اسکریپت شل، {0} بار در روز ارسال می‌شود',
            cronJobCurlRule: 'هشدار شکست وظیفه دسترسی به URL، {0} بار در روز ارسال می‌شود',
            cronJobCutWebsiteLogRule: 'هشدار شکست وظیفه برش لاگ وب‌سایت، {0} بار در روز ارسال می‌شود',
            cronJobCleanRule: 'هشدار شکست وظیفه پاک‌سازی کش، {0} بار در روز ارسال می‌شود',
            cronJobNtpRule: 'هشدار شکست وظیفه همگام‌سازی زمان سرور، {0} بار در روز ارسال می‌شود',
            alertSmsHelper: 'محدودیت پیامک: مجموع {0} پیام، {1} استفاده شده',
            goBuy: 'خرید بیشتر',
            phone: 'تلفن',
            phoneHelper: 'شماره تلفن واقعی را برای پیام‌های هشدار ارائه دهید',
            dailyAlertNum: 'محدودیت هشدار روزانه',
            dailyAlertNumHelper: 'حداکثر تعداد هشدار در روز (حداکثر ۱۰۰)',
            timeRange: 'محدوده زمانی',
            sendTimeRange: 'محدوده زمان ارسال',
            sendTimeRangeHelper: 'می‌تواند محدوده زمانی {0} را ارسال کند',
            to: 'تا',
            startTime: 'زمان شروع',
            endTime: 'زمان پایان',
            defaultPhone: 'پیش‌فرض به شماره تلفن حساب متصل به مجوز',
            noticeAlert: 'هشدار اعلان',
            resourceAlert: 'هشدار منابع',
            agentOfflineAlertHelper:
                'هنگامی که هشدار آفلاین برای گره فعال باشد، گره اصلی هر ۳۰ دقیقه یکبار اسکن می‌کند تا وظایف هشدار را اجرا کند.',
            offline: 'هشدار آفلاین',
            offlineHelper:
                'هنگامی که روی هشدار آفلاین تنظیم شود، گره اصلی هر ۳۰ دقیقه یکبار اسکن می‌کند تا وظایف هشدار را اجرا کند.',
            offlineOff: 'فعال‌سازی هشدار آفلاین',
            offlineOffHelper:
                'فعال‌سازی هشدار آفلاین باعث می‌شود گره اصلی هر ۳۰ دقیقه یکبار اسکن کند تا وظایف هشدار را اجرا کند.',
            offlineClose: 'غیرفعال‌سازی هشدار آفلاین',
            offlineCloseHelper:
                'غیرفعال‌سازی هشدار آفلاین نیاز دارد که گره‌های زیرین به طور مستقل هشدارها را مدیریت کنند. لطفاً برای جلوگیری از شکست هشدار، از اتصال شبکه اطمینان حاصل کنید.',
            alertNotice: 'اعلان هشدار',
            methodConfig: 'پیکربندی روش اعلان',
            createMethod: 'ایجاد روش اعلان',
            methodInvalid: 'پیکربندی {0} نامعتبر است',
            commonConfig: 'پیکربندی جهانی',
            smsConfig: 'پیامک',
            smsConfigHelper: 'شماره تلفن‌ها را برای اعلان‌های پیامکی پیکربندی کنید',
            emailConfig: 'ایمیل',
            emailConfigHelper: 'سرویس ارسال ایمیل SMTP را پیکربندی کنید',
            deleteConfigTitle: 'حذف پیکربندی هشدار',
            deleteConfigMsg: 'آیا مطمئن هستید که می‌خواهید پیکربندی هشدار را حذف کنید؟',
            test: 'تست',
            alertTestOk: 'اعلان تست با موفقیت انجام شد',
            alertTestFailed: 'اعلان تست ناموفق بود',
            displayName: 'نام نمایشی',
            sender: 'فرستنده',
            password: 'رمز عبور',
            host: 'سرور SMTP',
            port: 'پورت',
            encryption: 'رمزگذاری',
            recipient: 'گیرنده',
            licenseTime: 'یادآوری انقضای مجوز',
            licenseTimeTitle: 'یادآوری انقضای مجوز',
            displayNameHelper: 'نام نمایشی فرستنده برای ایمیل‌ها',
            senderHelper: 'آدرس ایمیلی که برای ارسال پیام استفاده می‌شود',
            passwordHelper: 'کد مجوز برای سرویس ایمیل',
            hostHelper: 'آدرس سرور SMTP، مثلاً smtp.qq.com',
            portHelper: 'SSL معمولاً از ۴۶۵ استفاده می‌کند، TLS معمولاً از ۵۸۷ استفاده می‌کند',
            sslHelper: 'اگر پورت SMTP ۴۶۵ است، معمولاً به SSL نیاز است',
            tlsHelper: 'اگر پورت SMTP ۵۸۷ است، معمولاً به TLS نیاز است',
            triggerCondition: 'شرط فعال‌سازی',
            loginFail: ' شکست در ورود در عرض',
            nodeException: 'هشدار ناهنجاری گره',
            licenseException: 'هشدار ناهنجاری مجوز',
            panelLogin: 'هشدار ناهنجاری ورود به پنل',
            sshLogin: 'هشدار ناهنجاری ورود SSH',
            panelIpLogin: 'هشدار ناهنجاری IP ورود به پنل',
            sshIpLogin: 'هشدار ناهنجاری IP ورود SSH',
            ipWhiteListHelper:
                'IP‌های موجود در لیست سفید توسط قوانین محدود نمی‌شوند و در صورت ورود موفق، هشدار وجود نخواهد داشت',
            nodeExceptionRule: 'هشدار ناهنجاری گره، {0} بار در روز ارسال می‌شود',
            licenseExceptionRule: 'هشدار ناهنجاری مجوز، {0} بار در روز ارسال می‌شود',
            panelLoginRule: 'هشدار ورود به پنل، {0} بار در روز ارسال می‌شود',
            sshLoginRule: 'هشدار ورود SSH، {0} بار در روز ارسال می‌شود',
            userNameHelper: 'نام کاربری خالی است، آدرس فرستنده به طور پیش‌فرض استفاده می‌شود',
            alertConfigHelper: 'کانال‌های اعلان هشدار را پیکربندی کنید تا پیام‌های پنل را دریافت کنید',
            weComConfigHelper: 'پیکربندی اعلان هشدار WeCom',
            barkConfigHelper: 'پیکربندی اعلان هشدار Bark',
            wechatConfigHelper: 'پیکربندی اعلان هشدار حساب رسمی وی‌چت',
            dingTalkConfigHelper: 'پیکربندی اعلان هشدار دینگ‌تاک',
            feiShuConfigHelper: 'پیکربندی اعلان هشدار فیشو',
            webhookName: 'نام ربات',
            webhookUrl: 'URL وب‌هوک',
            alertConfigProHelper: 'نسخه تجاری همچنین از هشدارهای WeCom، دینگ‌تاک، فیشو و پیامک پشتیبانی می‌کند.',
            recipientPlaceholder: 'لطفاً آدرس ایمیل گیرنده را وارد کنید',
            addRecipient: 'افزودن گیرنده',
            webhookItem: 'وب‌هوک',
            addWebhook: 'افزودن وب‌هوک',
            selectAlertType: 'انتخاب نوع هشدار',
            configDetail: 'جزئیات پیکربندی',
            webhookCount: ' وب‌هوک',
        },
        theme: {
            lingXiaGold: 'طلا لینگ‌ژیا',
            classicBlue: 'آبی کلاسیک',
            freshGreen: 'سبز تازه',
            customColor: 'رنگ سفارشی',
            setDefault: 'پیش‌فرض',
            setDefaultHelper: 'طرح رنگی تم به حالت اولیه بازگردانده می‌شود. ادامه می‌دهید؟',
            setHelper: 'طرح رنگی تم انتخاب شده فعلی ذخیره می‌شود. ادامه می‌دهید؟',
        },
        sync: {
            menu: 'همگام‌سازی منابع',
            file: 'تبادل فایل',
            fileSyncConfirm: 'آیا می‌خواهید فایل/پوشه {1} را از گره {0} به دایرکتوری {3} در گره {2} منتقل کنید؟',
            image: 'تبادل تصویر',
            imageBatchDesc:
                'ابتدا یک گره منبع و تصویر را انتخاب کنید، سپس به صورت دسته‌ای به چندین گره هدف انتقال دهید.',
            imageBatchConfirmPrefix: 'در حال انتقال {0} تصویر به {1} گره، مجموعاً {2} وظیفه.',

            ssl: 'همگام‌سازی گواهی',
            sslBatchDesc: 'پس از انتخاب یک گره منبع، گواهی مشخص شده را به محیط پنل فعلی همگام‌سازی کنید.',
            sslBatchConfirmPrefix: 'در حال همگام‌سازی {0} گواهی به {1} گره، مجموعاً {2} وظیفه.',

            app: 'انتقال برنامه',
            appBatchDesc:
                'گره منبع، برنامه و گره‌های هدف را انتخاب کنید، سپس وابستگی‌های منابع را تأیید کرده و وظیفه انتقال برنامه را شروع کنید.',
            appSelectedApp: 'برنامه انتخاب شده:',
            appPreviewTitle: 'پیش‌نمایش انتقال',
            appPreviewDesc: 'قبل از شروع انتقال برنامه، گره‌های هدف و منابع وابسته را تأیید کنید.',
            appDatabaseDependency: 'وابستگی پایگاه داده',
            appResourceRequired: 'ابتدا همه منابع مرتبط مورد نیاز را انتخاب کنید.',
            appUnsupportedMultipleResources: 'فقط برنامه‌هایی که حداکثر یک منبع مرتبط دارند قابل مهاجرت هستند.',
            appUnsupportedResourceType:
                'فقط برنامه‌هایی با وابستگی منبع صفر یا یک وابستگی MySQL، MariaDB یا PostgreSQL قابل مهاجرت هستند.',

            targetTitle: 'گره‌های هدف',
            targetDesc: 'گره منبع به طور خودکار حذف می‌شود. یک یا چند گره هدف را انتخاب کنید.',
            targetSearchPlaceholder: 'جستجوی نام گره یا آدرس',
            noTargetNodes: 'هیچ گره هدفی در دسترس نیست',
            noSourceNode: 'لطفاً ابتدا یک گره منبع انتخاب کنید',
            reviewTargets: 'گره‌های هدف',
            reviewEmpty: 'لطفاً ابتدا منابع و گره‌های هدف را انتخاب کنید',
            selectSourceFirst: 'لطفاً ابتدا یک گره منبع انتخاب کنید.',
            selectResourceFirst: 'لطفاً ابتدا منابع را برای همگام‌سازی انتخاب کنید.',
            selectTargetFirst: 'لطفاً حداقل یک گره هدف انتخاب کنید.',
            submitSuccess: 'وظیفه همگام‌سازی ارسال شد.',
        },
        vm: {
            vm: 'ماشین مجازی',
            title: 'مدیریت ماشین مجازی',
            healthCheck: 'بررسی سلامت',
            healthCheckResult: {
                pass: 'موفق',
                info: 'اطلاعات',
                warn: 'هشدار',
                fail: 'ناموفق',
                normal: 'عادی',
                fixCommand: 'دستور رفع مشکل',
                technicalDetail: 'جزئیات فنی',
                check: {
                    vmName: 'نام ماشین مجازی',
                    libvirtConnection: 'اتصال Libvirt',
                    vmDefinition: 'تعریف ماشین مجازی',
                    domainXML: 'XML ماشین مجازی',
                    architecture: 'معماری',
                    virtualizationType: 'نوع مجازی‌سازی',
                    machineType: 'نوع ماشین',
                    efiCapability: 'قابلیت EFI',
                    qemuEmulator: 'شبیه‌ساز QEMU',
                    bootOrder: 'ترتیب راه‌اندازی',
                    arm64Firmware: 'میان‌افزار ARM64',
                    arm64Features: 'ویژگی‌های ARM64',
                    arm64Video: 'نمایشگر ARM64',
                    arm64FirmwareFile: 'فایل میان‌افزار ARM64',
                    arm64CDROM: 'CD-ROM ‏ARM64',
                    blockDevice: 'دستگاه بلوکی',
                    isoArchitecture: 'معماری ISO',
                    network: 'شبکه',
                    qemuLog: 'گزارش QEMU',
                    arm64RuntimeFirmware: 'میان‌افزار زمان اجرای ARM64',
                },
                reason: {
                    invalidName: 'نام ماشین مجازی نامعتبر است.',
                    connectionFailed: 'اتصال به {uri} امکان‌پذیر نیست.',
                    vmNotFound: 'ماشین مجازی {name} پیدا نشد.',
                    xmlReadFailed: 'خواندن XML ماشین مجازی ناموفق بود.',
                    liveXMLFallback: 'پیکربندی پایدار خوانده نشد؛ از پیکربندی در حال اجرا استفاده می‌شود.',
                    xmlParseFailed: 'تجزیه XML ماشین مجازی ناموفق بود.',
                    stateReadFailed: 'وضعیت ماشین مجازی مشخص نشد. بررسی میان‌افزار زمان اجرا نادیده گرفته شد.',
                    guestArchMissing: 'معماری مهمان در XML وجود ندارد.',
                    archMismatch:
                        'معماری میزبان {hostArch} و معماری مهمان {guestArch} است. اجرای بین معماری‌های متفاوت پشتیبانی نمی‌شود.',
                    nonKVMType: 'نوع مجازی‌سازی {type} است و نوع پیش‌فرض KVM نیست.',
                    archOrMachineMissing: 'معماری یا نوع ماشین در XML وجود ندارد.',
                    machineUnsupported: 'میزبان از {arch}/{machine} پشتیبانی نمی‌کند.',
                    emulatorNotSpecified: 'هیچ شبیه‌سازی در XML مشخص نشده است؛ Libvirt یکی را انتخاب می‌کند.',
                    fileNotFound: 'فایل پیدا نشد: {path}',
                    fileNotExecutable: 'فایل قابل اجرا نیست: {path}',
                    bootDeviceMissing: 'هیچ دستگاه راه‌اندازی در XML تعریف نشده است.',
                    diskNotFirst: 'دیسک نخستین دستگاه راه‌اندازی نیست. ترتیب فعلی: {order}',
                    cdromNotInBootOrder: 'CD-ROM متصل است اما در ترتیب راه‌اندازی قرار ندارد.',
                    firmwareNotConfigured:
                        'EFI یا Loader پیکربندی نشده است؛ ممکن است مهمان نتواند نمایشگر را مقداردهی یا راه‌اندازی کند.',
                    acpiCustom: 'ACPI پیکربندی شده است. نیاز مهمان به این تنظیم سفارشی را تأیید کنید.',
                    acpiRequiresUEFI: 'ACPI بدون UEFI پیکربندی شده و خطای ACPI requires UEFI ایجاد می‌کند.',
                    apicUnsupported: 'x86 APIC پیکربندی شده است، اما برای ARM64 معتبر نیست.',
                    gicNotDeclared: 'GIC در XML پایدار وجود ندارد؛ ممکن است Libvirt آن را هنگام اجرا اضافه کند.',
                    videoNotConfigured: 'هیچ دستگاه نمایشی در XML پیکربندی نشده است.',
                    videoNotVirtio: 'نوع دستگاه نمایش {type} است؛ Virtio پیشنهاد می‌شود.',
                    firmwareFileMissing: 'فایل میان‌افزار وجود ندارد یا یک فایل عادی نیست: {path}',
                    firmwareNotAvailable: 'Libvirt قابلیت EFI را گزارش نکرده و میان‌افزار UEFI برای ARM64 پیدا نشد.',
                    cdromBusNotSCSI: 'CD-ROM از گذرگاه {bus} استفاده می‌کند؛ ARM64 به SCSI نیاز دارد.',
                    cdromNotOnVirtioSCSI: 'CD-ROM به کنترل‌کننده Virtio SCSI متصل نیست.',
                    diskSourceMissing: 'برای {device} {target} فایل منبعی پیکربندی نشده است.',
                    sourceNotFound: 'فایل منبع {device} {target} وجود ندارد: {path}',
                    sourceIsDirectory: 'مسیر منبع {device} {target} یک پوشه است: {path}',
                    systemDiskNotFound: 'هیچ دیسک سیستمی شناسایی نشد.',
                    isoArchMismatch:
                        'تصویری که به نظر می‌رسد برای {imageArch} باشد به مهمان {guestArch} متصل است: {path}',
                    networkReadFailed: 'خواندن شبکه {name} امکان‌پذیر نیست.',
                    networkStateReadFailed: 'خواندن وضعیت شبکه {name} امکان‌پذیر نیست.',
                    networkInactive: 'شبکه {name} وجود دارد اما فعال نیست.',
                    logUnavailable: 'هیچ گزارش راه‌اندازی برای تحلیل موجود نیست.',
                    logErrorsFound: 'خطاهای رایج در آخرین گزارش راه‌اندازی پیدا شد.',
                    vmNotRunning: 'ماشین مجازی در حال اجرا نیست؛ بررسی آرگومان‌های زمان اجرای QEMU نادیده گرفته شد.',
                    runtimeFirmwareMissing: 'هیچ ورودی pflash،‏ AAVMF یا QEMU_EFI در گزارش QEMU پیدا نشد.',
                },
            },
            dependencies: 'وابستگی‌ها',
            dependencyPurpose: 'کاربرد',
            dependencyPurposeMap: {
                libvirt: 'سرویس مدیریت ماشین مجازی را برای چرخه حیات و زمان‌بندی منابع فراهم می‌کند.',
                storage: 'دایرکتوری یا استخر ذخیره‌سازی پیش‌فرض را برای فایل‌های دیسک ماشین مجازی فراهم می‌کند.',
            },
            dependencyNotReady:
                'بررسی وابستگی‌های ماشین مجازی موفق نبود. قبل از استفاده از ماشین مجازی، وابستگی‌ها را برطرف کنید.',
            helperUnavailable:
                'راه‌اندازی قابلیت ماشین مجازی ناموفق بود. لاگ Core را بررسی کنید یا دوباره ارتقاء دهید.',
            cpu: 'CPU',
            memory: 'حافظه',
            disk: 'دیسک',
            overview: 'نمای کلی',
            kvmUnavailable: 'هیچ قابلیت مجازی‌سازی سخت‌افزاری KVM در دسترس شناسایی نشد.',
            kvmCheckCpu: 'بررسی کنید CPU میزبان از مجازی‌سازی Intel VT-x یا AMD-V پشتیبانی می‌کند.',
            kvmCheckBios: 'گزینه‌های مجازی‌سازی را در BIOS/UEFI فعال کنید.',
            kvmCheckModule: 'بررسی کنید ماژول کرنل kvm، kvm_intel یا kvm_amd به‌درستی بارگذاری شده است.',
            kvmCheckDevice: 'بررسی کنید /dev/kvm وجود دارد و محیط فعلی کانتینر یا میزبان ابری فاقد پشتیبانی KVM نیست.',
            abnormal: 'غیرعادی',
            resourceOverview: 'نمای کلی منابع',
            cpuAllocated: 'CPU تخصیص‌یافته',
            memoryAllocated: 'حافظه تخصیص‌یافته',
            storageUsed: 'فضای ذخیره‌سازی استفاده‌شده',
            riskReminder: 'هشدارهای خطر',
            noRisk: 'بدون خطر',
            runtimeHealth: 'سلامت محیط اجرا',
            runtimeAbnormal: 'محیط اجرای VM غیرعادی است',
            noDependency: 'داده‌ای از بررسی وابستگی‌ها وجود ندارد',
            storageOverview: 'نمای کلی فضای ذخیره‌سازی',
            totalAllocated: 'بر اساس مجموع پیکربندی VMها محاسبه شده است',
            runningAllocated: 'تخصیص در حال اجرا: {0}',
            storageAvailable: 'در دسترس: {0}',
            inProgress: 'در حال انجام',
            needAttention: 'نیازمند توجه',
            normal: 'عادی',
            environmentRisk: 'محیط اجرای VM آماده نیست. وابستگی‌ها یا سرویس‌های مجازی‌سازی را اصلاح کنید.',
            storageRisk: 'استفاده از مخزن ذخیره‌سازی {0} به {1}% رسیده است.',
            abnormalRisk: '{0} ماشین مجازی در وضعیت غیرعادی هستند.',
            pausedRisk: '{0} ماشین مجازی متوقف موقت هستند.',
            memoryRisk: 'تخصیص حافظه ماشین‌های مجازی به {0}% رسیده است.',
            cpuLimitHelper: 'CPU در حال حاضر در دسترس: {0} هسته',
            cpuLimitExceeded: 'CPU از حد مجاز بیشتر است. حداکثر فعلی قابل استفاده: {0} هسته.',
            memoryLimitHelper: 'حافظه قابل تخصیص فعلی: {0} (میزبان باید {1} حافظه رزرو کند)',
            memoryLimitExceeded: 'حافظه از حد مجاز بیشتر است. حداکثر فعلی قابل تخصیص: {0}.',
            storageLimitHelper: 'فضای آزاد فعلی در استخر ذخیره‌سازی مقصد: {0}',
            storageLimitExceeded: 'ظرفیت دیسک از حد مجاز بیشتر است. حداکثر فعلی قابل استفاده: {0}.',
            iso: 'ISO',
            createFromTemplate: 'ایجاد از قالب',
            template: 'قالب',
            templateName: 'نام قالب',
            convertToTemplate: 'تبدیل به قالب',
            sourceVM: 'ماشین مجازی منبع',
            templateSize: 'اندازه قالب',
            deleteTemplateConfirm: 'قالب {0} حذف شود؟ این عملیات قابل بازگشت نیست. ادامه می‌دهید؟',
            orphanClean: 'پاک‌سازی داده‌های بدون مرجع',
            orphanScan: 'اسکن مجدد',
            orphanCleanHelper:
                'فقط فایل‌های نامزد که توسط ماشین مجازی، اسنپ‌شات یا قالب ثبت‌شده استفاده نمی‌شوند نمایش داده می‌شوند. پیش از پاک‌سازی مطمئن شوید فایل دیگر استفاده نمی‌شود؛ این عملیات بازگشت‌پذیر نیست.',
            orphanSelected: '{0} فایل انتخاب شده، مجموع {1}',
            orphanSize: 'اندازه',
            orphanCleanConfirm: 'آیا {0} فایل انتخاب‌شده ({1}) پاک‌سازی شوند؟ این عملیات بازگشت‌پذیر نیست.',
            orphanCleanSuccess: '{0} فایل پاک‌سازی شد و {1} آزاد شد.',
            orphanType: {
                orphan_domain_disk: 'دیسک بدون مرجع',
                orphan_snapshot: 'اسنپ‌شات بدون مرجع',
                partial_file: 'فایل ناتمام',
            },
            diskSize: 'ظرفیت دیسک',
            diskPath: 'مسیر دیسک',
            isoPath: 'مسیر ISO',
            storagePool: 'استخر ذخیره‌سازی',
            network: 'شبکه',
            bridgeName: 'نام Bridge',
            natNetworkHelper:
                'ماشین مجازی می‌تواند از طریق میزبان به شبکه دسترسی داشته باشد، اما دستگاه‌های خارجی معمولاً نمی‌توانند مستقیماً به آن دسترسی پیدا کنند.',
            bridgeNetworkHelper:
                'ماشین مجازی را به bridge موجود میزبان (مانند br0) متصل کنید. اگر میزبان کارت شبکه اضافیِ استفاده‌نشده دارد، می‌توانید برای آن bridge بسازید و استفاده کنید.',
            bridgeNameHelper:
                'یک Linux bridge موجود روی میزبان، مانند br0، انتخاب کنید. کارت شبکه فیزیکی Bridge نیست و Bridgeهای مدیریت‌شده توسط docker/libvirt را نمی‌توان اینجا انتخاب کرد.',
            natCIDRHelper: 'CIDR، دروازه و بازه DHCP برای ایجاد شبکه مجازی NAT استفاده می‌شوند.',
            networkCIDR: 'CIDR شبکه',
            gateway: 'دروازه',
            dhcpStart: 'شروع DHCP',
            dhcpEnd: 'پایان DHCP',
            bootOrder: 'ترتیب بوت',
            bootDiskFirst: 'ابتدا دیسک (HD → CD-ROM)',
            bootIsoFirst: 'ابتدا ISO (CD-ROM → HD)',
            bootOrderConfirm:
                'ترتیب بوت به {0} تغییر کند؟ ماشین مجازی در راه‌اندازی بعدی، دستگاه‌های متصل و قابل بوت را به این ترتیب امتحان می‌کند.',
            startAfterCreate: 'شروع پس از ایجاد',
            autoStart: 'شروع خودکار',
            resourceAutoStart: 'شروع خودکار',
            capacity: 'ظرفیت',
            available: 'در دسترس',
            vmCount: 'ماشین‌های مجازی مرتبط',
            usedIPs: 'IPهای استفاده‌شده',
            monitor: 'مانیتورینگ',
            monitorNotReady: 'ماشین مجازی در حال اجرا نیست و داده‌های مانیتورینگ در دسترس نیست.',
            monitorLoadFailed: 'دریافت داده‌های مانیتورینگ ماشین مجازی ناموفق بود.',
            monitorLoadFailedWithReason: 'دریافت داده‌های مانیتورینگ ماشین مجازی ناموفق بود: {0}',
            rename: 'تغییر نام',
            newName: 'نام جدید',
            renameHelper: 'نام جدید ماشین مجازی را وارد کنید. برای تغییر نام، ماشین مجازی باید خاموش باشد.',
            renameConfirm: 'ماشین مجازی [{0}] به [{1}] تغییر نام داده شود؟',
            renameRunningHelper: 'ابتدا ماشین مجازی را خاموش کنید، سپس نام آن را تغییر دهید.',
            cpuUsage: 'مصرف CPU',
            memoryUsage: 'مصرف حافظه',
            diskIO: 'IO دیسک',
            networkIO: 'IO شبکه',
            diskReadWrite: 'خواندن / نوشتن دیسک',
            networkRxTx: 'دریافت / ارسال شبکه',
            rx: 'دریافت',
            tx: 'ارسال',
            console: 'کنسول',
            consoleNotReady: 'کنسول VNC در دسترس نیست. ماشین مجازی را شروع کنید و پیکربندی گرافیکی VNC را بررسی کنید.',
            consoleDisconnected: 'اتصال کنسول VNC قطع شد.',
            consoleConnectFailed: 'اتصال به کنسول VNC ناموفق بود. سرویس پراکسی کنسول را بررسی کنید.',
            consoleCredentialsRequired:
                'کنسول VNC به اطلاعات احراز هویت نیاز دارد. پیکربندی پراکسی بک‌اند را بررسی کنید.',
            snapshot: 'اسنپ‌شات',
            createSnapshot: 'ایجاد اسنپ‌شات',
            recoverSnapshot: 'بازیابی اسنپ‌شات',
            snapshotSize: 'فضای مصرف‌شده',
            currentSnapshot: 'فعلی',
            snapshotEmpty: 'اسنپ‌شاتی وجود ندارد',
            snapshotHelper:
                'اسنپ‌شات وضعیت فعلی VM را به‌عنوان نقطه بازیابی ذخیره می‌کند. تغییرات بعدی بدون تغییر دیسک اصلی در یک فایل دلتا ثبت می‌شوند. بازیابی اسنپ‌شات، VM را به همان زمان بازمی‌گرداند.',
            snapshotOperationHelper:
                'اسنپ‌شات فعلی قابل حذف نیست. بازیابی اسنپ‌شات فقط زمانی ممکن است که ماشین مجازی خاموش باشد.',
            snapshotRecoverConfirm:
                'ماشین مجازی [{1}] به اسنپ‌شات [{0}] بازیابی شود؟ پس از بازیابی، دیسک ماشین مجازی به وضعیت آن اسنپ‌شات برمی‌گردد.',
            interface: 'رابط شبکه',
            device: 'دستگاه',
            path: 'مسیر',
            start: 'شروع',
            shutdown: 'خاموش کردن',
            reboot: 'راه‌اندازی مجدد',
            destroy: 'توقف اجباری',
            suspend: 'تعلیق',
            resume: 'ادامه',
            operateConfirm: 'عملیات {0} روی ماشین مجازی [{1}] انجام شود؟',
            forceDelete: 'حذف اجباری',
            forceDeleteHelper:
                'حذف اجباری خطاهای حذف ماشین مجازی را نادیده می‌گیرد، فراداده پنل را حذف می‌کند و منابع را آزاد می‌کند.',
            deleteNameHelper: '" را برای حذف این ماشین مجازی وارد کنید',
            isoSource: 'منبع ISO',
            downloadFromServer: 'دانلود از راه دور',
            isoTargetDir: 'مسیر مقصد ISO',
            isoTargetDirHelper: 'ISO های آپلودشده محلی یا دانلودشده از سرور در این دایرکتوری ذخیره می‌شوند.',
            addingIsoRecord: 'در حال افزودن رکورد ISO',
            transferInProgress: 'انتقال ISO در حال انجام است. این پنل یا صفحه را نبندید.',
            isoSize: 'اندازه ISO',
            deleteIsoConfirm: 'این عملیات حذف قابل بازگشت نیست. ادامه می‌دهید؟',
            deleteSourceFile: 'حذف فایل منبع',
            deleteSourceFileHelper:
                'در صورت انتخاب، فایل منبع ارجاع‌شده توسط این رکورد ISO نیز حذف می‌شود و قابل بازیابی نیست.',
            dir: 'دایرکتوری محلی',
        },
        cluster: {
            cluster: 'کارایی بالا برنامه',
            name: 'نام خوشه',
            addCluster: 'افزودن خوشه',
            installNode: 'گره نصب',
            master: 'گره اصلی',
            slave: 'گره برده',
            replicaStatus: 'وضعیت اصلی-برده',
            unhealthyDeleteError: 'وضعیت گره نصب غیرعادی است، لطفاً لیست گره‌ها را بررسی کرده و دوباره تلاش کنید!',
            replicaStatusError: 'دریافت وضعیت غیرعادی است، لطفاً گره اصلی را بررسی کنید.',
            masterHostError: 'IP گره اصلی نمی‌تواند 127.0.0.1 باشد',
        },
    },
    template: {
        create: 'ایجاد قالب',
        edit: 'ویرایش قالب',
        name: 'نام قالب',
        type: 'نوع قالب',
        single: 'تک فایل',
        multi: 'چند فایل (zip)',
        content: 'محتوای قالب',
        variables: 'تعریف متغیرها',
        remark: 'توضیحات',
        filePath: 'مسیر فایل',
        upload: 'بارگذاری zip',
        preview: 'پیش‌نمایش',
        previewEmpty: 'برای پیش‌نمایش زنده یک قالب انتخاب کنید',
        generate: 'تولید خروجی',
        outputName: 'نام خروجی',
        outputList: 'فهرست خروجی‌ها',
        outputCreate: 'تولید خروجی',
        confirmDelete: 'آیا از حذف این قالب مطمئن هستید؟ خروجی‌های مرتبط نیز حذف خواهند شد',
        confirmDeleteOutput: 'آیا از حذف این خروجی مطمئن هستید؟',
        variableKey: 'نام متغیر',
        variableLabel: 'برچسب',
        variableType: 'نوع',
        variableDefault: 'مقدار پیش‌فرض',
        variableOptions: 'گزینه‌ها (جدا شده با کاما)',
        variableRequired: 'الزامی',
        varTypeText: 'متن تک‌خطی',
        varTypeTextHelper: 'فیلد ورودی متن معمولی',
        varTypeTextarea: 'متن چندخطی',
        varTypeTextareaHelper: 'مناسب برای پاراگراف‌ها و متون طولانی',
        varTypeNumber: 'عدد',
        varTypeNumberHelper: 'فقط ورودی عددی',
        varTypeSelect: 'انتخاب کشویی',
        varTypeSelectHelper: 'انتخاب از گزینه‌های از پیش تعیین‌شده، وارد کردن گزینه‌ها الزامی است',
        varTypeColor: 'رنگ',
        varTypeColorHelper: 'انتخابگر رنگ',
        autoDetectHelper: 'متغیرهای داخل آکولاد دوگانه به صورت خودکار شناسایی و به جدول اضافه می‌شوند',
        selectTemplate: 'انتخاب قالب',
        fillVariables: 'تکمیل متغیرها',
        noVariables: 'در این قالب متغیری تعریف نشده است',
        outputSuccess: 'خروجی با موفقیت تولید شد',
        importButton: 'وارد کردن از قالب',
    },
};

export default {
    ...getFuLocaleMessage('fa'),
    ...message,
};
