1342 lines
96 KiB
JSON
1342 lines
96 KiB
JSON
{
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "راه اندازی WashData",
|
||
"description": "ماشین لباسشویی یا وسایل دیگر خود را پیکربندی کنید.\n\nسنسور قدرت مورد نیاز است.\n\n**بعد از شما پرسیده می شود که آیا می خواهید اولین نمایه خود را ایجاد کنید.**",
|
||
"data": {
|
||
"name": "نام دستگاه",
|
||
"device_type": "نوع دستگاه",
|
||
"power_sensor": "سنسور قدرت",
|
||
"min_power": "حداقل آستانه توان (W)"
|
||
},
|
||
"data_description": {
|
||
"name": "نامی مناسب برای این دستگاه (به عنوان مثال، \"ماشین لباسشویی\"، \"ماشین ظرفشویی\").",
|
||
"device_type": "این چه نوع دستگاهی است؟ به تشخیص و برچسب زدن کمک می کند.",
|
||
"power_sensor": "موجودیت حسگری که مصرف برق بلادرنگ (بر حسب وات) را از دوشاخه هوشمند شما گزارش می دهد.",
|
||
"min_power": "خوانش های توان بالاتر از این آستانه (بر حسب وات) نشان می دهد که دستگاه در حال کار است. برای اکثر دستگاه ها با 2W شروع کنید."
|
||
}
|
||
},
|
||
"first_profile": {
|
||
"title": "ایجاد اولین نمایه",
|
||
"description": "یک **چرخه** اجرای کامل دستگاه شما است (به عنوان مثال، یک بار لباسشویی). یک **نمایه** این چرخهها را بر اساس نوع گروهبندی میکند (به عنوان مثال، «پنبه»، «شستشوی سریع»). ایجاد نمایه اکنون به یکپارچهسازی کمک میکند تا فوری مدت زمان را تخمین بزند.\n\nاگر به صورت خودکار شناسایی نشد، میتوانید این نمایه را بهصورت دستی در کنترلهای دستگاه انتخاب کنید.\n\n**برای رد شدن از این مرحله، «نام نمایه» را خالی بگذارید.**",
|
||
"data": {
|
||
"profile_name": "نام نمایه (اختیاری)",
|
||
"manual_duration": "مدت زمان تخمینی (دقیقه)"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"cannot_connect": "اتصال ناموفق بود",
|
||
"invalid_auth": "احراز هویت نامعتبر است",
|
||
"unknown": "خطای غیرمنتظره"
|
||
},
|
||
"abort": {
|
||
"already_configured": "دستگاه قبلاً پیکربندی شده است"
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"menu_options": {
|
||
"learning_feedbacks": "بازخوردهای آموزشی را مرور کنید",
|
||
"settings": "تنظیمات",
|
||
"notifications": "اطلاعیه ها",
|
||
"manage_cycles": "چرخه ها را مدیریت کنید",
|
||
"manage_profiles": "مدیریت پروفایل ها",
|
||
"manage_phase_catalog": "مدیریت کاتالوگ فاز",
|
||
"record_cycle": "چرخه ضبط (دستی)",
|
||
"diagnostics": "تشخیص و نگهداری"
|
||
}
|
||
},
|
||
"apply_suggestions": {
|
||
"title": "کپی کردن مقادیر پیشنهادی",
|
||
"description": "این مقادیر پیشنهادی فعلی را در تنظیمات ذخیره شده شما کپی می کند. این یک اقدام یک بار است و بازنویسی خودکار را فعال نمی کند.\n\nمقادیر پیشنهادی برای کپی کردن:\n{suggested}",
|
||
"data": {
|
||
"confirm": "اقدام کپی را تأیید کنید"
|
||
}
|
||
},
|
||
"apply_suggestions_confirm": {
|
||
"title": "بررسی تغییرات پیشنهادی",
|
||
"description": "WashData **{pending_count}** مقدار(های) پیشنهادی برای اعمال پیدا شد.\n\nتغییرات:\n{changes}\n\n✅ کادر زیر را علامت بزنید و روی **ارسال** کلیک کنید تا این تغییرات اعمال شود و فوراً ذخیره شوند.\n❌ آن را بدون علامت بگذارید و برای لغو و بازگشت روی **ارسال** کلیک کنید.",
|
||
"data": {
|
||
"confirm_apply_suggestions": "این تغییرات را اعمال و ذخیره کنید"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "تنظیمات",
|
||
"description": "{deprecation_warning}آستانه تشخیص، یادگیری و رفتار پیشرفته را تنظیم کنید. پیشفرضها برای اکثر تنظیمات به خوبی کار میکنند.\n\nتعداد تنظیمات پیشنهادی موجود: {suggestions_count}.\nاگر بزرگتر از 0 است، تنظیمات پیشرفته را باز کنید و از «اعمال مقادیر پیشنهادی» برای بررسی توصیهها استفاده کنید.",
|
||
"data": {
|
||
"apply_suggestions": "اعمال مقادیر پیشنهادی",
|
||
"device_type": "نوع دستگاه",
|
||
"power_sensor": "موجودیت سنسور قدرت",
|
||
"min_power": "حداقل توان (W)",
|
||
"off_delay": "تأخیر (های) پایان چرخه",
|
||
"notify_actions": "اقدامات اطلاع رسانی",
|
||
"notify_people": "تأخیر تحویل تا زمانی که این افراد در خانه هستند",
|
||
"notify_only_when_home": "تأخیر اعلانها تا زمانی که فرد منتخب در خانه باشد",
|
||
"notify_fire_events": "فعالسازی رویدادهای اتوماسیون",
|
||
"notify_start_services": "شروع چرخه - اهداف اعلان",
|
||
"notify_finish_services": "چرخه پایان - اهداف اعلان",
|
||
"notify_live_services": "پیشرفت زنده - اهداف اعلان",
|
||
"notify_before_end_minutes": "اعلان پیش از اتمام (دقیقه قبل از پایان)",
|
||
"notify_title": "عنوان اطلاعیه",
|
||
"notify_icon": "نماد اعلان",
|
||
"notify_start_message": "فرمت پیام را شروع کنید",
|
||
"notify_finish_message": "فرمت پیام پایان",
|
||
"notify_pre_complete_message": "قالب پیام قبل از تکمیل",
|
||
"show_advanced": "ویرایش تنظیمات پیشرفته (مرحله بعد)"
|
||
},
|
||
"data_description": {
|
||
"apply_suggestions": "این کادر را علامت بزنید تا مقادیر پیشنهاد شده توسط الگوریتم یادگیری را در فرم کپی کنید. قبل از ذخیره بررسی کنید.\n\nپیشنهادی (از یادگیری):\n- min_power: {suggested_min_power} W\n- off_delay: {suggested_off_delay} s\n- watchdog_interval: {suggested_watchdog_interval} s\n- no_update_active_timeout: {suggested_no_update_active_timeout} s\n- profile_match_interval: {suggested_profile_match_interval} s\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} W\n- stop_threshold_w: {suggested_stop_threshold_w} W\n- end_energy_threshold: {suggested_end_energy_threshold} Wh\n- running_dead_zone: {suggested_running_dead_zone} s\n{suggested_reason}",
|
||
"device_type": "نوع دستگاه (ماشین لباسشویی، خشک کن، ماشین ظرفشویی، قهوه ساز، EV) را انتخاب کنید. این تگ با هر چرخه برای سازماندهی بهتر ذخیره می شود.",
|
||
"power_sensor": "موجودیت حسگر که توان آنی را گزارش میکند (بر حسب وات). میتوانید هرزمان خواستید بدون از دست دادن دادههای تاریخی این مورد را تغییر دهید-در صورت تعویض دوشاخه هوشمند مفید است.",
|
||
"min_power": "خوانش های توان بالاتر از این آستانه (بر حسب وات) نشان می دهد که دستگاه در حال کار است. برای اکثر دستگاه ها با 2W شروع کنید.",
|
||
"off_delay": "چند ثانیه توان هموارسازی شده باید زیر آستانه توقف باقی بماند تا علامت اتمام باشد. پیش فرض: 120 ثانیه",
|
||
"notify_actions": "دنباله اقدام اختیاری Home Assistant برای اجرای اعلان ها (اسکریپت ها، اطلاع رسانی، TTS و غیره). در صورت تنظیم، اقدامات قبل از سرویس اطلاع رسانی مجدد اجرا می شود.",
|
||
"notify_people": "نهادهای افراد برای دروازه حضور استفاده می شود. در صورت فعال بودن، تحویل اعلان تا زمانی که حداقل یک نفر انتخاب شده در خانه باشد به تعویق می افتد.",
|
||
"notify_only_when_home": "در صورت فعال بودن، اعلان ها را تا زمانی که حداقل یک نفر انتخاب شده در خانه باشد به تاخیر بیاندازید.",
|
||
"notify_fire_events": "در صورت فعال بودن، رویدادهای Home Assistant را برای شروع و پایان چرخه (ha_washdata_cycle_started و ha_washdata_cycle_ended) برای رانندگی خودکار فعال کنید.",
|
||
"notify_start_services": "یک یا چند سرویس را برای هشدار در هنگام شروع یک چرخه مطلع می کند. برای رد شدن از اعلانهای شروع، خالی بگذارید.",
|
||
"notify_finish_services": "یک یا چند سرویس را مطلع می کنند تا در صورت اتمام یا نزدیک شدن به اتمام یک چرخه هشدار دهند. برای رد شدن از اعلانهای پایان، خالی بگذارید.",
|
||
"notify_live_services": "یک یا چند سرویس برای دریافت بهروزرسانیهای پیشرفت زنده در حین اجرای چرخه (فقط برنامه همراه همراه) اطلاع رسانی میکنند. برای رد شدن از بهروزرسانیهای زنده، خالی بگذارید.",
|
||
"notify_before_end_minutes": "چند دقیقه قبل از پایان تخمینی چرخه برای راه اندازی یک اعلان. برای غیرفعال کردن، روی 0 تنظیم کنید. پیش فرض: 0.",
|
||
"notify_title": "عنوان سفارشی برای اعلان ها. از {device} متغیری پشتیبانی می کند.",
|
||
"notify_icon": "نماد مورد استفاده برای اعلانها (مانند mdi: ماشین لباسشویی). برای ارسال بدون نماد خالی بگذارید.",
|
||
"notify_start_message": "هنگام شروع یک چرخه پیام ارسال می شود. از {device} متغیری پشتیبانی می کند.",
|
||
"notify_finish_message": "پس از پایان یک چرخه، پیام ارسال می شود. از متغیرهای {device}، {duration}، {program}, {energy_kwh}, {cost} پشتیبانی می کند.",
|
||
"notify_pre_complete_message": "متن پیشرفت زنده مکرر بهروزرسانی میشود در حالی که چرخه اجرا میشود. از متغیرهای {device}، {minutes}، {program} پشتیبانی می کند."
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "اطلاعیه ها",
|
||
"description": "کانالهای اعلان، الگوها و بهروزرسانیهای پیشرفت زنده اختیاری تلفن همراه را پیکربندی کنید.",
|
||
"data": {
|
||
"notify_actions": "اقدامات اطلاع رسانی",
|
||
"notify_people": "تأخیر تحویل تا زمانی که این افراد در خانه هستند",
|
||
"notify_only_when_home": "تأخیر اعلانها تا زمانی که فرد منتخب در خانه باشد",
|
||
"notify_fire_events": "فعالسازی رویدادهای اتوماسیون",
|
||
"notify_start_services": "شروع چرخه - اهداف اعلان",
|
||
"notify_finish_services": "چرخه پایان - اهداف اعلان",
|
||
"notify_live_services": "پیشرفت زنده - اهداف اعلان",
|
||
"notify_before_end_minutes": "اعلان پیش از اتمام (دقیقه قبل از پایان)",
|
||
"notify_live_interval_seconds": "فاصله به روز رسانی زنده (ثانیه)",
|
||
"notify_live_overrun_percent": "کمک هزینه بهروزرسانی زنده (%)",
|
||
"notify_live_chronometer": "تایمر شمارش معکوس کرنومتر",
|
||
"notify_title": "عنوان اطلاعیه",
|
||
"notify_icon": "نماد اعلان",
|
||
"notify_start_message": "فرمت پیام را شروع کنید",
|
||
"notify_finish_message": "فرمت پیام پایان",
|
||
"notify_pre_complete_message": "قالب پیام قبل از تکمیل",
|
||
"energy_price_entity": "قیمت انرژی - نهاد (اختیاری)",
|
||
"energy_price_static": "قیمت انرژی - مقدار استاتیک (اختیاری)",
|
||
"go_back": "بازگشت بدون ذخیره",
|
||
"notify_reminder_message": "بایگانی برچسب ها",
|
||
"notify_timeout_seconds": "ماشین پس از (ثانیه)",
|
||
"notify_channel": "کانال اطلاع رسانی (وضعیت / زندگی / اقامت)",
|
||
"notify_finish_channel": "کانال اطلاع رسانی"
|
||
},
|
||
"data_description": {
|
||
"go_back": "این را علامت بزنید و روی ارسال کلیک کنید تا هر تغییری در بالا کنار گذاشته شود و به منوی اصلی برگردید.",
|
||
"notify_actions": "دنباله اقدام اختیاری Home Assistant برای اجرای اعلان ها (اسکریپت ها، اطلاع رسانی، TTS و غیره). در صورت تنظیم، اقدامات قبل از سرویس اطلاع رسانی مجدد اجرا می شود.",
|
||
"notify_people": "نهادهای افراد برای دروازه حضور استفاده می شود. در صورت فعال بودن، تحویل اعلان تا زمانی که حداقل یک نفر انتخاب شده در خانه باشد به تعویق می افتد.",
|
||
"notify_only_when_home": "در صورت فعال بودن، اعلان ها را تا زمانی که حداقل یک نفر انتخاب شده در خانه باشد به تاخیر بیاندازید.",
|
||
"notify_fire_events": "در صورت فعال بودن، رویدادهای Home Assistant را برای شروع و پایان چرخه (ha_washdata_cycle_started و ha_washdata_cycle_ended) برای رانندگی خودکار فعال کنید.",
|
||
"notify_start_services": "یک یا چند سرویس اطلاع رسانی برای هشدار هنگام شروع یک چرخه (مانند notify.mobile_app_my_phone). برای رد شدن از اعلانهای شروع، خالی بگذارید.",
|
||
"notify_finish_services": "یک یا چند سرویس را مطلع می کنند تا در صورت اتمام یا نزدیک شدن به اتمام یک چرخه هشدار دهند. برای رد شدن از اعلانهای پایان، خالی بگذارید.",
|
||
"notify_live_services": "یک یا چند سرویس برای دریافت بهروزرسانیهای پیشرفت زنده در حین اجرای چرخه (فقط برنامه همراه همراه) اطلاع رسانی میکنند. برای رد شدن از بهروزرسانیهای زنده، خالی بگذارید.",
|
||
"notify_before_end_minutes": "چند دقیقه قبل از پایان تخمینی چرخه برای راه اندازی یک اعلان. برای غیرفعال کردن، روی 0 تنظیم کنید. پیش فرض: 0.",
|
||
"notify_live_interval_seconds": "هر چند وقت یکبار بهروزرسانیهای پیشرفت هنگام اجرا ارسال میشوند. مقادیر پایین تر پاسخگوتر هستند اما اعلان های بیشتری را مصرف می کنند. حداقل 30 ثانیه اعمال می شود - مقادیر کمتر از 30 ثانیه به طور خودکار به 30 ثانیه گرد می شوند.",
|
||
"notify_live_overrun_percent": "حاشیه ایمنی بالاتر از تعداد بهروزرسانیهای تخمینی برای چرخههای طولانی/بیش از حد مجاز است (به عنوان مثال 20٪ به 1.2 برابر بهروزرسانیهای تخمینی اجازه میدهد).",
|
||
"notify_live_chronometer": "وقتی فعال باشد، هر بهروزرسانی زنده شامل شمارش معکوس کرنومتر تا زمان تخمینی پایان میشود. تایمر اعلان بین بهروزرسانیها بهطور خودکار روی دستگاه خاموش میشود (فقط برنامه همراه اندروید).",
|
||
"notify_title": "عنوان سفارشی برای اعلان ها. از {device} متغیری پشتیبانی می کند.",
|
||
"notify_icon": "نماد مورد استفاده برای اعلانها (مانند mdi: ماشین لباسشویی). برای ارسال بدون نماد خالی بگذارید.",
|
||
"notify_start_message": "هنگام شروع یک چرخه پیام ارسال می شود. از {device} متغیری پشتیبانی می کند.",
|
||
"notify_finish_message": "پس از پایان یک چرخه، پیام ارسال می شود. از متغیرهای {device}، {duration}، {program}, {energy_kwh}, {cost} پشتیبانی می کند.",
|
||
"energy_price_entity": "یک موجود عددی را انتخاب کنید که دارای قیمت فعلی برق باشد (به عنوان مثال sensor.electricity_price، input_number.energy_rate). وقتی تنظیم شود، مکاندار {cost} را فعال میکند. اگر هر دو پیکربندی شده باشند، بر مقدار استاتیک اولویت دارد.",
|
||
"energy_price_static": "قیمت ثابت برق به ازای هر کیلووات ساعت وقتی تنظیم شود، مکاندار {cost} را فعال میکند. اگر موجودی در بالا پیکربندی شده باشد نادیده گرفته می شود. نماد ارز خود را در قالب پیام اضافه کنید، به عنوان مثال. {cost} یورو.",
|
||
"notify_reminder_message": "متن یادآوری یکباره، تعداد دقیقههای پیکربندیشده را قبل از پایان تخمینی ارسال کرد. متمایز از بهروزرسانیهای زنده مکرر بالا. از متغیرهای {device}، {minutes}، {program} پشتیبانی می کند.",
|
||
"notify_timeout_seconds": "به طور خودکار اعلان ها را پس از این چند ثانیه رد کنید (به عنوان برنامه \"زمان\" به جلو بروید). به سمت صفر بروید تا آنها را تا زمانی که اخراج شوند، نگه دارید. پیشفرض: 0",
|
||
"notify_channel": "Android کانال اطلاع رسانی برنامه همراه برای وضعیت، پیشرفت زنده و اعلان های یادآوری. صدا و اهمیت یک کانال در برنامه همراه برای اولین بار که نام کانال استفاده می شود پیکربندی می شود - WashData فقط نام کانال را تنظیم می کند. خالی را برای پیش فرض برنامه بگذارید.",
|
||
"notify_finish_channel": "کانال برای هشدار نهایی (همچنین توسط یادآوری و یادآور مکرر انتظار لباسشویی استفاده می شود) بنابراین می تواند صدای خود را داشته باشد. برای استفاده از کانال بالا خالی بگذارید.",
|
||
"notify_pre_complete_message": "متن پیشرفت زنده مکرر بهروزرسانی میشود در حالی که چرخه اجرا میشود. از متغیرهای {device}، {minutes}، {program} پشتیبانی می کند."
|
||
}
|
||
},
|
||
"advanced_settings": {
|
||
"title": "تنظیمات پیشرفته",
|
||
"description": "آستانههای تشخیص، یادگیری و رفتار پیشرفته را تنظیم کنید. پیشفرضها برای اکثر تنظیمات به خوبی کار میکنند.",
|
||
"sections": {
|
||
"suggestions_section": {
|
||
"name": "تنظیمات پیشنهادی",
|
||
"description": "{suggestions_count} پیشنهادِ آموختهشده در دسترس است. برای بررسی تغییرات پیشنهادی پیش از ذخیره، «اعمال مقادیر پیشنهادی» را علامت بزنید.",
|
||
"data": {
|
||
"apply_suggestions": "اعمال مقادیر پیشنهادی"
|
||
},
|
||
"data_description": {
|
||
"apply_suggestions": "این کادر را علامت بزنید تا یک مرحله بررسی برای مقادیر پیشنهادی از الگوریتم یادگیری باز شود. هیچ چیزی به طور خودکار ذخیره نمی شود.\n\nپیشنهادی (از یادگیری):\n- min_power: {suggested_min_power} W\n- off_delay: {suggested_off_delay} s\n- watchdog_interval: {suggested_watchdog_interval} s\n- no_update_active_timeout: {suggested_no_update_active_timeout} s\n- profile_match_interval: {suggested_profile_match_interval} s\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} W\n- stop_threshold_w: {suggested_stop_threshold_w} W\n- end_energy_threshold: {suggested_end_energy_threshold} Wh\n- running_dead_zone: {suggested_running_dead_zone} s\n{suggested_reason}"
|
||
}
|
||
},
|
||
"detection_section": {
|
||
"name": "تشخیص و آستانههای توان",
|
||
"description": "اینکه چه زمانی دستگاه روشن یا خاموش در نظر گرفته میشود، دروازههای انرژی، و زمانبندی انتقال وضعیتها.",
|
||
"data": {
|
||
"start_duration_threshold": "شروع مدت زمان (های) Debounce",
|
||
"start_energy_threshold": "راه اندازی دروازه انرژی (Wh)",
|
||
"completion_min_seconds": "حداقل زمان اجرا (ثانیه)",
|
||
"start_threshold_w": "آستانه شروع (W)",
|
||
"stop_threshold_w": "آستانه توقف (W)",
|
||
"end_energy_threshold": "دروازه انرژی پایانی (Wh)",
|
||
"running_dead_zone": "در حال اجرا منطقه مرده (ثانیه)",
|
||
"end_repeat_count": "پایان تعداد تکرار",
|
||
"min_off_gap": "حداقل فاصله بین چرخه ها",
|
||
"sampling_interval": "فاصله (های) نمونه برداری"
|
||
},
|
||
"data_description": {
|
||
"start_duration_threshold": "نوک کوتاهتر از این مدت (ثانیه) را نادیده بگیرید. قبل از شروع چرخه واقعی، نوک های بوت را فیلتر می کند (مثلاً 60 وات برای 2 ثانیه). پیش فرض: 5 ثانیه",
|
||
"start_energy_threshold": "چرخه باید حداقل این مقدار انرژی (Wh) را در مرحله استارت جمع کند تا تایید شود. پیش فرض: 0.005 وات",
|
||
"completion_min_seconds": "چرخههای کوتاهتر از این بهعنوان «مقطع» علامتگذاری میشوند، حتی اگر به طور طبیعی تمام شوند. پیش فرض: 600s.",
|
||
"start_threshold_w": "برای شروع یک چرخه، توان باید بالاتر از این آستانه باشد. بالاتر از قدرت آماده به کار خود تنظیم کنید. پیش فرض: min_power + 1 W.",
|
||
"stop_threshold_w": "برای پایان یک چرخه، توان باید زیر این آستانه باشد. برای جلوگیری از سر و صدایی که باعث ایجاد انتهای کاذب می شود، کمی بالای صفر تنظیم کنید. پیش فرض: 0.6 * min_power.",
|
||
"end_energy_threshold": "چرخه فقط در صورتی به پایان می رسد که انرژی در آخرین پنجره Off-Delay کمتر از این مقدار (Wh) باشد. در صورت نوسانات برق نزدیک به صفر از پایان های کاذب جلوگیری می کند. پیش فرض: 0.05 وات",
|
||
"running_dead_zone": "پس از شروع چرخه، برای جلوگیری از تشخیص انتهای کاذب در مرحله اولیه چرخش، افت برق را برای این چند ثانیه نادیده بگیرید. برای غیرفعال کردن، روی 0 تنظیم کنید. پیش فرض: 0 ثانیه",
|
||
"end_repeat_count": "تعداد دفعاتی که شرط پایان (قدرت زیر آستانه برای off_delay) باید به طور متوالی قبل از پایان چرخه برآورده شود. مقادیر بالاتر از پایان های نادرست در طول مکث جلوگیری می کند. پیش فرض: 1.",
|
||
"min_off_gap": "اگر یک چرخه در این چند ثانیه از پایان چرخه قبلی شروع شود، آنها در یک چرخه واحد ادغام می شوند.",
|
||
"sampling_interval": "حداقل فاصله نمونه برداری بر حسب ثانیه بهروزرسانیهای سریعتر از این نرخ نادیده گرفته میشوند. پیشفرض: 30 ثانیه (2 ثانیه برای ماشینهای لباسشویی، ماشین لباسشویی و خشککن و ماشین ظرفشویی)."
|
||
}
|
||
},
|
||
"matching_section": {
|
||
"name": "تطبیق پروفایل و یادگیری",
|
||
"description": "اینکه WashData با چه شدتی چرخههای در حال اجرا را با پروفایلهای آموختهشده تطبیق میدهد و چه زمانی بازخورد درخواست میکند.",
|
||
"data": {
|
||
"profile_match_min_duration_ratio": "نسبت حداقل مدت زمان مطابقت نمایه (0.1-1.0)",
|
||
"profile_match_interval": "فاصله تطبیق نمایه (ثانیه)",
|
||
"profile_match_threshold": "آستانه مطابقت نمایه",
|
||
"profile_unmatch_threshold": "آستانه عدم تطابق نمایه",
|
||
"auto_label_confidence": "برچسب خودکار اطمینان (0-1)",
|
||
"learning_confidence": "درخواست بازخورد اطمینان (0-1)",
|
||
"suppress_feedback_notifications": "سرکوب اعلانهای بازخورد",
|
||
"duration_tolerance": "تحمل مدت (0-0.5)",
|
||
"smoothing_window": "صاف کردن پنجره (نمونه)",
|
||
"profile_duration_tolerance": "تحمل مدت زمان مطابقت نمایه (0-0.5)"
|
||
},
|
||
"data_description": {
|
||
"profile_match_min_duration_ratio": "حداقل نسبت مدت زمان برای تطبیق پروفایل. چرخه دویدن باید حداقل این کسری از مدت پروفیل باشد تا مطابقت داشته باشد. پایین تر = تطبیق زودتر پیش فرض: 0.50 (50%).",
|
||
"profile_match_interval": "هر چند وقت یکبار (در چند ثانیه) در طول یک چرخه تلاش برای تطبیق نمایه. مقادیر پایینتر تشخیص سریعتری را ارائه میکنند اما از CPU بیشتری استفاده میکنند. پیشفرض: 300 ثانیه (5 دقیقه).",
|
||
"profile_match_threshold": "حداقل امتیاز شباهت DTW (0.0-1.0) برای در نظر گرفتن یک نمایه به عنوان یک تطابق لازم است. بالاتر = تطبیق دقیق تر، مثبت کاذب کمتر. پیش فرض: 0.4.",
|
||
"profile_unmatch_threshold": "امتیاز شباهت DTW (0.0-1.0) که زیر آن یک نمایه قبلا مطابقت داده شده رد می شود. برای جلوگیری از سوسو زدن باید کمتر از آستانه مسابقه باشد. پیش فرض: 0.35.",
|
||
"auto_label_confidence": "چرخهها را بهطور خودکار پس از تکمیل (0.0-1.0) با این اطمینان یا بالاتر از آن برچسبگذاری کنید.",
|
||
"learning_confidence": "حداقل اطمینان برای درخواست تأیید کاربر از طریق یک رویداد (0.0–1.0).",
|
||
"suppress_feedback_notifications": "وقتی WashData فعال باشد، همچنان به صورت داخلی بازخورد را ردیابی و درخواست میکند، اما اعلانهای دائمی که از شما میخواهند چرخهها را تأیید کنید، نشان نمیدهد. زمانی مفید است که چرخه ها همیشه به درستی تشخیص داده می شوند و پیام ها را منحرف می کند.",
|
||
"duration_tolerance": "تحمل تخمین های باقیمانده زمان در طول اجرا (0.0-0.5 مربوط به 0-50٪ است).",
|
||
"smoothing_window": "تعداد قرائتهای اخیر توان مورد استفاده برای هموارسازی میانگین متحرک.",
|
||
"profile_duration_tolerance": "تحمل استفاده شده توسط تطبیق پروفایل برای واریانس کل مدت (0.0-0.5). رفتار پیش فرض: ± 25%."
|
||
}
|
||
},
|
||
"timing_section": {
|
||
"name": "زمانبندی، نگهداری و اشکالزدایی",
|
||
"description": "واچداگ، بازنشانی پیشرفت، نگهداری خودکار و نمایش موجودیتهای اشکالزدایی.",
|
||
"data": {
|
||
"watchdog_interval": "فاصله سگ نگهبان (ثانیه)",
|
||
"no_update_active_timeout": "مهلت زمانی بدون بهروزرسانی",
|
||
"progress_reset_delay": "تاخیر بازنشانی پیشرفت (ثانیه)",
|
||
"auto_maintenance": "Auto-Maintenance را فعال کنید",
|
||
"expose_debug_entities": "موجودیت های اشکال زدایی را در معرض نمایش قرار دهید",
|
||
"save_debug_traces": "ذخیره ردیابی اشکال زدایی"
|
||
},
|
||
"data_description": {
|
||
"watchdog_interval": "ثانيه بين بازرسي هاي نگهبان در حين دويدن. پیش فرض: 5 ثانیه هشدار: برای جلوگیری از توقف های کاذب، مطمئن شوید که این فاصله بالاتر از فاصله به روز رسانی سنسور شما است (به عنوان مثال، اگر سنسور هر 60 ثانیه به روز می شود، از 65 ثانیه به بالا استفاده کنید).",
|
||
"no_update_active_timeout": "برای حسگرهای انتشار در هنگام تغییر: فقط در صورتی که بهروزرسانی برای این چند ثانیه صورت نگیرد، چرخه ACTIVE را به اجبار پایان دهید. تکمیل کم مصرف همچنان از تاخیر خاموش استفاده می کند.",
|
||
"progress_reset_delay": "پس از تکمیل یک چرخه (100%)، قبل از تنظیم مجدد پیشرفت به 0٪، این چند ثانیه در حالت بیکار صبر کنید. پیش فرض: 300s.",
|
||
"auto_maintenance": "تعمیر و نگهداری خودکار را فعال کنید (نمونهها را تعمیر کنید، قطعات را ادغام کنید).",
|
||
"expose_debug_entities": "نمایش سنسورهای پیشرفته (اطمینان، فاز، ابهام) برای رفع اشکال.",
|
||
"save_debug_traces": "داده های رتبه بندی دقیق و ردیابی قدرت را در تاریخچه ذخیره کنید (استفاده از ذخیره سازی را افزایش می دهد)."
|
||
}
|
||
},
|
||
"anti_wrinkle_section": {
|
||
"name": "سپر ضدچروک (خشککنها)",
|
||
"description": "چرخشهای دیگ پس از پایان چرخه را نادیده بگیرید تا از چرخههای شبح جلوگیری شود. فقط برای خشککن / واشر-خشککن.",
|
||
"data": {
|
||
"anti_wrinkle_enabled": "سپر ضد چروک (فقط خشک کن)",
|
||
"anti_wrinkle_max_power": "حداکثر توان ضد چروک (W)",
|
||
"anti_wrinkle_max_duration": "حداکثر مدت زمان ضد چروک (s)",
|
||
"anti_wrinkle_exit_power": "قدرت خروج ضد چروک (W)"
|
||
},
|
||
"data_description": {
|
||
"anti_wrinkle_enabled": "چرخش های کوتاه درام کم مصرف را پس از پایان یک چرخه نادیده بگیرید تا از چرخه های ارواح جلوگیری کنید (فقط خشک کن/واشر-خشک کن).",
|
||
"anti_wrinkle_max_power": "انفجارهای با این توان یا کمتر از آن به عنوان چرخش های ضد چروک به جای چرخه های جدید در نظر گرفته می شوند. فقط زمانی اعمال می شود که سپر ضد چروک فعال باشد.",
|
||
"anti_wrinkle_max_duration": "حداکثر طول ترکیدگی برای درمان به عنوان چرخش ضد چروک. فقط زمانی اعمال می شود که سپر ضد چروک فعال باشد.",
|
||
"anti_wrinkle_exit_power": "اگر قدرت به زیر این سطح رسید، فوراً از ضد چروک خارج شوید (خاموش واقعی). فقط زمانی اعمال می شود که سپر ضد چروک فعال باشد."
|
||
}
|
||
},
|
||
"delay_start_section": {
|
||
"name": "تشخیص شروع با تأخیر",
|
||
"description": "حالت آمادهبهکار کممصرفِ پایدار را تا زمانی که چرخه واقعاً شروع شود، بهعنوان 'در انتظار شروع' در نظر بگیرید.",
|
||
"data": {
|
||
"delay_start_detect_enabled": "تشخیص شروع تاخیری را فعال کنید",
|
||
"delay_confirm_seconds": "شروع با تأخیر: زمان تأیید حالت آمادهبهکار (ثانیه)",
|
||
"delay_timeout_hours": "شروع تاخیر: حداکثر زمان انتظار (ساعت)"
|
||
},
|
||
"data_description": {
|
||
"delay_start_detect_enabled": "هنگامی که فعال می شود، یک جهش کوتاه تخلیه کم مصرف و به دنبال آن قدرت آماده به کار پایدار به عنوان شروع تاخیری تشخیص داده می شود. حسگر حالت \"در انتظار شروع\" را در طول تاخیر نشان می دهد. هیچ زمان یا پیشرفت برنامه تا زمانی که چرخه واقعاً شروع نشود ردیابی نمی شود. به start_threshold_w نیاز دارد که بالاتر از توان لوله تخلیه تنظیم شود.",
|
||
"delay_confirm_seconds": "پیش از اینکه WashData وارد وضعیت 'در انتظار شروع' شود، توان باید به مدت این تعداد ثانیه بین آستانه توقف (W) و آستانه شروع (W) بماند. این کار اوجهای کوتاه ناشی از جابهجایی در منو را فیلتر میکند. پیشفرض: 60 ثانیه.",
|
||
"delay_timeout_hours": "مهلت زمانی ایمنی: اگر دستگاه پس از این چند ساعت همچنان در «در انتظار راهاندازی» باشد، WashData به حالت خاموش بازنشانی میشود. پیشفرض: 8 ساعت"
|
||
}
|
||
},
|
||
"external_triggers_section": {
|
||
"name": "محرکهای خارجی، در و مکث",
|
||
"description": "سنسور اختیاری محرک پایان خارجی، سنسور در برای تشخیص مکث/تمیز، و کلید قطع توان هنگام مکث.",
|
||
"data": {
|
||
"external_end_trigger_enabled": "فعالسازی محرک پایان خارجی",
|
||
"external_end_trigger": "سنسور پایان سیکل خارجی",
|
||
"external_end_trigger_inverted": "معکوس کردن منطق ماشه (تریگر خاموش است)",
|
||
"door_sensor_entity": "سنسور درب",
|
||
"pause_cuts_power": "قطع برق هنگام مکث",
|
||
"switch_entity": "سوئیچ نهاد (برای توقف موقت قطع برق)",
|
||
"notify_unload_delay_minutes": "تأخیر اعلان انتظار لباسشویی (دقیقه)"
|
||
},
|
||
"data_description": {
|
||
"external_end_trigger_enabled": "نظارت بر حسگر باینری خارجی را برای شروع تکمیل چرخه فعال کنید.",
|
||
"external_end_trigger": "یک موجودیت حسگر باینری را انتخاب کنید. هنگامی که این سنسور فعال می شود، چرخه فعلی با وضعیت \"تکمیل\" به پایان می رسد.",
|
||
"external_end_trigger_inverted": "به طور پیش فرض، هنگامی که سنسور روشن می شود، ماشه فعال می شود. این کادر را علامت بزنید تا زمانی که سنسور خاموش می شود، روشن شود.",
|
||
"door_sensor_entity": "سنسور باینری اختیاری برای درب دستگاه (روشن = باز، خاموش = بسته). هنگامی که در در طول یک چرخه فعال باز می شود، WashData چرخه را به عنوان توقف عمدی تایید می کند. پس از پایان چرخه، اگر درب همچنان بسته باشد، وضعیت به \"تمیز\" تغییر می کند تا درب باز شود. توجه: بستن در، چرخه توقف موقت را به طور خودکار از سر نمی گیرد - رزومه باید به صورت دستی از طریق دکمه یا سرویس چرخه از سرگیری فعال شود.",
|
||
"pause_cuts_power": "هنگام مکث از طریق دکمه یا سرویس چرخه مکث، موجودیت سوئیچ پیکربندی شده را نیز خاموش کنید. فقط در صورتی اعمال می شود که یک موجودیت سوئیچ برای این دستگاه پیکربندی شده باشد.",
|
||
"switch_entity": "موجودیت سوئیچ برای تغییر هنگام توقف یا از سرگیری. زمانی که «قطع برق هنگام مکث» فعال باشد، لازم است.",
|
||
"notify_unload_delay_minutes": "پس از پایان چرخه و باز نشدن درب برای این چند دقیقه، از طریق کانال اعلان پایان، اعلان ارسال کنید (نیاز به سنسور درب دارد). برای غیرفعال کردن، روی 0 تنظیم کنید. پیشفرض: 60 دقیقه"
|
||
}
|
||
},
|
||
"pump_section": {
|
||
"name": "پایش پمپ",
|
||
"description": "فقط برای نوع دستگاه پمپ. اگر چرخه پمپ از این مدت طولانیتر شود، یک رویداد ارسال میکند.",
|
||
"data": {
|
||
"pump_stuck_duration": "آستانه هشدار گیر کردن پمپ (فقط پمپ)"
|
||
},
|
||
"data_description": {
|
||
"pump_stuck_duration": "اگر چرخه پمپ پس از این چند ثانیه همچنان در حال اجرا باشد، یک رویداد ha_washdata_pump_stuck یک بار اجرا می شود. از این برای تشخیص موتور گیر کرده استفاده کنید (معمولاً پمپ کارکرد زیر 60 ثانیه است). پیشفرض: 1800 ثانیه (30 دقیقه). فقط نوع دستگاه پمپ"
|
||
}
|
||
},
|
||
"device_link_section": {
|
||
"name": "دستگاه Link",
|
||
"description": "به صورت اختیاری این دستگاه شستشو را به یک دستگاه موجود (برای مثال پلاگین هوشمند یا خود دستگاه) پیوند دهید. سپس دستگاه WashData به عنوان “Connected Through” نشان داده می شود. برای نگه داشتن اطلاعات به عنوان یک دستگاه مستقل خالی بگذارید.",
|
||
"data": {
|
||
"linked_device": "دستگاه متصل"
|
||
},
|
||
"data_description": {
|
||
"linked_device": "دستگاه را برای اتصال WashData انتخاب کنید. این یک مرجع “Connected Through” را در رجیستر دستگاه اضافه می کند؛ WashData کارت و دستگاه خود را نگه می دارد. انتخاب را برای حذف لینک روشن کنید."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"diagnostics": {
|
||
"title": "تشخیص و نگهداری",
|
||
"description": "اقدامات تعمیر و نگهداری مانند ادغام چرخه های تکه تکه یا انتقال داده های ذخیره شده را اجرا کنید.\n\n**استفاده از فضای ذخیره سازی**\n\n- حجم فایل: {file_size_kb} کیلوبایت\n- چرخه ها: {cycle_count}\n- نمایه ها: {profile_count}\n- ردیابی اشکال: {debug_count}",
|
||
"menu_options": {
|
||
"reprocess_history": "نگهداری: پردازش مجدد و بهینه سازی داده ها",
|
||
"clear_debug_data": "پاک کردن داده های اشکال زدایی (آزاد کردن فضا)",
|
||
"wipe_history": "پاک کردن تمام دادههای این دستگاه (غیرقابل برگشت)",
|
||
"export_import": "صادرات/وارد کردن JSON با تنظیمات (کپی/پیست)",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"clear_debug_data": {
|
||
"title": "پاک کردن دیباگ داده ها",
|
||
"description": "آیا مطمئن هستید که می خواهید همه ردیابی اشکال زدایی ذخیره شده را حذف کنید؟ این کار فضا را آزاد می کند اما اطلاعات رتبه بندی دقیق را از چرخه های گذشته حذف می کند."
|
||
},
|
||
"manage_cycles": {
|
||
"title": "چرخه ها را مدیریت کنید",
|
||
"description": "چرخه های اخیر:\n{recent_cycles}",
|
||
"menu_options": {
|
||
"auto_label_cycles": "برچسبگذاری خودکار چرخههای قدیمی",
|
||
"select_cycle_to_label": "چرخه خاص برچسب",
|
||
"select_cycle_to_delete": "چرخه را حذف کنید",
|
||
"interactive_editor": "ادغام / تقسیم ویرایشگر تعاملی",
|
||
"trim_cycle_select": "داده های چرخه برش",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"manage_cycles_empty": {
|
||
"title": "چرخه ها را مدیریت کنید",
|
||
"description": "هنوز هیچ چرخه ای ثبت نشده است.",
|
||
"menu_options": {
|
||
"auto_label_cycles": "برچسبگذاری خودکار چرخههای قدیمی",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"manage_profiles": {
|
||
"title": "مدیریت پروفایل ها",
|
||
"description": "خلاصه نمایه:\n{profile_summary}",
|
||
"menu_options": {
|
||
"create_profile": "ایجاد نمایه جدید",
|
||
"edit_profile": "ویرایش/تغییر نام نمایه",
|
||
"delete_profile_select": "حذف نمایه",
|
||
"profile_stats": "آمار پروفایل",
|
||
"cleanup_profile": "پاک کردن تاریخچه - نمودار و حذف",
|
||
"assign_profile_phases_select": "محدوده های فاز را تعیین کنید",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"manage_profiles_empty": {
|
||
"title": "مدیریت پروفایل ها",
|
||
"description": "هنوز هیچ پروفایلی ایجاد نشده است.",
|
||
"menu_options": {
|
||
"create_profile": "ایجاد نمایه جدید",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"manage_phase_catalog": {
|
||
"title": "مدیریت کاتالوگ فاز",
|
||
"description": "کاتالوگ فاز (پیشفرض این دستگاه + مراحل سفارشی):\n{phase_summary}",
|
||
"menu_options": {
|
||
"phase_catalog_create": "فاز جدید ایجاد کنید",
|
||
"phase_catalog_edit_select": "فاز ویرایش",
|
||
"phase_catalog_delete": "حذف فاز",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"phase_catalog_create": {
|
||
"title": "ایجاد فاز سفارشی",
|
||
"description": "یک نام فاز و شرح سفارشی ایجاد کنید و نوع دستگاه را انتخاب کنید.",
|
||
"data": {
|
||
"target_device_type": "نوع دستگاه مورد نظر",
|
||
"phase_name": "نام فاز",
|
||
"phase_description": "شرح فاز"
|
||
}
|
||
},
|
||
"phase_catalog_edit_select": {
|
||
"title": "ویرایش فاز سفارشی",
|
||
"description": "یک فاز سفارشی را برای ویرایش انتخاب کنید.",
|
||
"data": {
|
||
"phase_name": "فاز سفارشی"
|
||
}
|
||
},
|
||
"phase_catalog_edit": {
|
||
"title": "ویرایش فاز سفارشی",
|
||
"description": "مرحله ویرایش: {phase_name}",
|
||
"data": {
|
||
"phase_name": "نام فاز",
|
||
"phase_description": "شرح فاز"
|
||
}
|
||
},
|
||
"phase_catalog_delete": {
|
||
"title": "حذف فاز سفارشی",
|
||
"description": "یک فاز سفارشی را برای حذف انتخاب کنید. هر محدوده اختصاص داده شده با استفاده از این فاز حذف خواهد شد.",
|
||
"data": {
|
||
"phase_name": "فاز سفارشی"
|
||
}
|
||
},
|
||
"assign_profile_phases": {
|
||
"title": "محدوده های فاز را تعیین کنید",
|
||
"description": "پیش نمایش فاز برای نمایه: **{profile_name}**\n\n{timeline_svg}\n\n**محدوده های فعلی:**\n{current_ranges}\n\nاز اقدامات زیر برای افزودن، ویرایش، حذف یا ذخیره محدوده استفاده کنید.",
|
||
"menu_options": {
|
||
"assign_profile_phases_add": "محدوده فاز را اضافه کنید",
|
||
"assign_profile_phases_edit_select": "ویرایش محدوده فاز",
|
||
"assign_profile_phases_delete": "حذف محدوده فاز",
|
||
"phase_ranges_clear": "پاک کردن همه محدوده ها",
|
||
"assign_profile_phases_auto_detect": "تشخیص خودکار فازها",
|
||
"phase_ranges_save": "ذخیره و برگردانید",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"assign_profile_phases_add": {
|
||
"title": "محدوده فاز را اضافه کنید",
|
||
"description": "یک محدوده فاز را به پیش نویس فعلی اضافه کنید.",
|
||
"data": {
|
||
"phase_name": "فاز",
|
||
"start_min": "دقیقه شروع",
|
||
"end_min": "دقیقه پایانی"
|
||
}
|
||
},
|
||
"assign_profile_phases_edit_select": {
|
||
"title": "ویرایش محدوده فاز",
|
||
"description": "محدوده ای را برای ویرایش انتخاب کنید.",
|
||
"data": {
|
||
"range_index": "محدوده فاز"
|
||
}
|
||
},
|
||
"assign_profile_phases_edit": {
|
||
"title": "ویرایش محدوده فاز",
|
||
"description": "محدوده فاز انتخابی را به روز کنید.",
|
||
"data": {
|
||
"phase_name": "فاز",
|
||
"start_min": "دقیقه شروع",
|
||
"end_min": "دقیقه پایانی"
|
||
}
|
||
},
|
||
"assign_profile_phases_delete": {
|
||
"title": "حذف محدوده فاز",
|
||
"description": "محدوده ای را برای حذف از پیش نویس انتخاب کنید.",
|
||
"data": {
|
||
"range_index": "محدوده فاز"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect": {
|
||
"title": "فازهای شناسایی خودکار",
|
||
"description": "نمایه: **{profile_name}**\n\n{timeline_svg}\n\n**{detected_count} مرحله (های) به طور خودکار شناسایی شد.** اقدامی را در زیر انتخاب کنید.",
|
||
"data": {
|
||
"action": "اقدام"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect_name": {
|
||
"title": "نام فازهای شناسایی شده",
|
||
"description": "نمایه: **{profile_name}**\n\n**{detected_count} مرحله شناسایی شد:**\n{ranges_summary}\n\nبرای هر مرحله یک نام تعیین کنید."
|
||
},
|
||
"assign_profile_phases_select": {
|
||
"title": "محدوده های فاز را تعیین کنید",
|
||
"description": "یک نمایه را برای پیکربندی محدوده فاز انتخاب کنید.",
|
||
"data": {
|
||
"profile": "نمایه"
|
||
}
|
||
},
|
||
"profile_stats": {
|
||
"title": "آمار پروفایل",
|
||
"description": "{stats_table}"
|
||
},
|
||
"create_profile": {
|
||
"title": "ایجاد نمایه جدید",
|
||
"description": "یک نمایه جدید به صورت دستی یا از یک چرخه گذشته ایجاد کنید.\n\nنمونههای نام نمایه: 'ظریف'، 'سنگین'، 'شستشوی سریع'",
|
||
"data": {
|
||
"profile_name": "نام نمایه",
|
||
"reference_cycle": "چرخه مرجع (اختیاری)",
|
||
"manual_duration": "مدت زمان دستی (دقیقه)"
|
||
}
|
||
},
|
||
"edit_profile": {
|
||
"title": "ویرایش نمایه",
|
||
"description": "نمایه ای را برای تغییر نام انتخاب کنید",
|
||
"data": {
|
||
"profile": "نمایه"
|
||
}
|
||
},
|
||
"rename_profile": {
|
||
"title": "ویرایش جزئیات نمایه",
|
||
"description": "نمایه فعلی: {current_name}",
|
||
"data": {
|
||
"new_name": "نام نمایه",
|
||
"manual_duration": "مدت زمان دستی (دقیقه)"
|
||
}
|
||
},
|
||
"delete_profile_select": {
|
||
"title": "حذف نمایه",
|
||
"description": "نمایه ای را برای حذف انتخاب کنید",
|
||
"data": {
|
||
"profile": "نمایه"
|
||
}
|
||
},
|
||
"delete_profile_confirm": {
|
||
"title": "حذف نمایه را تایید کنید",
|
||
"description": "⚠️ با این کار نمایه برای همیشه حذف می شود: {profile_name}",
|
||
"data": {
|
||
"unlabel_cycles": "برچسب را از چرخه ها با استفاده از این نمایه حذف کنید"
|
||
}
|
||
},
|
||
"auto_label_cycles": {
|
||
"title": "برچسبگذاری خودکار چرخههای قدیمی",
|
||
"description": "کل {total_count} چرخه پیدا شد. نمایه ها: {profiles}",
|
||
"data": {
|
||
"confidence_threshold": "حداقل اطمینان (0.50-0.95)"
|
||
}
|
||
},
|
||
"select_cycle_to_label": {
|
||
"title": "Cycle to Label را انتخاب کنید",
|
||
"description": "✓ = کامل شد، ⚠ = از سر گرفته شد، ✗ = قطع شد",
|
||
"data": {
|
||
"cycle_id": "چرخه"
|
||
}
|
||
},
|
||
"select_cycle_to_delete": {
|
||
"title": "چرخه را حذف کنید",
|
||
"description": "⚠️ با این کار چرخه انتخاب شده برای همیشه حذف می شود",
|
||
"data": {
|
||
"cycle_id": "چرخه برای حذف"
|
||
}
|
||
},
|
||
"label_cycle": {
|
||
"title": "چرخه برچسب",
|
||
"description": "{cycle_info}",
|
||
"data": {
|
||
"profile_name": "نمایه",
|
||
"new_profile_name": "نام نمایه جدید (در صورت ایجاد)"
|
||
}
|
||
},
|
||
"post_process": {
|
||
"title": "تاریخچه فرآیند (ادغام / تقسیم)",
|
||
"description": "با ادغام اجراهای تکه تکه شده و تقسیم چرخه های ادغام شده نادرست در یک پنجره زمانی، تاریخچه چرخه را پاک کنید. تعداد ساعات نگاه کردن به گذشته را وارد کنید (برای همه از 999999 استفاده کنید).",
|
||
"data": {
|
||
"time_range": "پنجره نگاه (ساعت)",
|
||
"gap_seconds": "ادغام/تقسیم شکاف (ثانیه)"
|
||
},
|
||
"data_description": {
|
||
"time_range": "تعداد ساعات اسکن برای ادغام چرخه های تکه تکه شده. از 999999 برای پردازش تمام داده های تاریخی استفاده کنید.",
|
||
"gap_seconds": "آستانه برای تصمیم گیری تقسیم در مقابل ادغام. شکاف های کوتاه تر از این ادغام می شوند. شکاف های طولانی تر از این تقسیم می شوند. این را پایین بیاورید تا چرخه ای که به اشتباه ادغام شده است، تقسیم شود."
|
||
}
|
||
},
|
||
"cleanup_profile": {
|
||
"title": "پاک کردن تاریخچه - نمایه را انتخاب کنید",
|
||
"description": "نمایه ای را برای تجسم انتخاب کنید. این یک نمودار را ایجاد می کند که تمام چرخه های گذشته را برای این نمایه نشان می دهد تا به شناسایی نقاط پرت کمک کند.",
|
||
"data": {
|
||
"profile": "نمایه"
|
||
}
|
||
},
|
||
"cleanup_select": {
|
||
"title": "پاک کردن تاریخچه - نمودار و حذف",
|
||
"description": "\n\n**تجسم {profile_name}**\n\nنمودار چرخه های جداگانه را به صورت خطوط رنگی نشان می دهد. خطوط پرت (خطوط دور از گروه) و مطابقت با رنگ آنها را در لیست زیر شناسایی کنید تا آنها را حذف کنید.\n\n** چرخه هایی را برای حذف دائمی انتخاب کنید:**",
|
||
"data": {
|
||
"cycles_to_delete": "چرخههای حذف (تطابق رنگها را بررسی کنید)"
|
||
}
|
||
},
|
||
"interactive_editor": {
|
||
"title": "ادغام / تقسیم ویرایشگر تعاملی",
|
||
"description": "یک اقدام دستی را برای انجام در تاریخچه چرخه خود انتخاب کنید.",
|
||
"menu_options": {
|
||
"editor_split": "تقسیم یک چرخه (یافتن شکاف ها)",
|
||
"editor_merge": "چرخه های ادغام (پیوستن قطعات)",
|
||
"editor_delete": "حذف چرخه(های)",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"editor_select": {
|
||
"title": "چرخه ها را انتخاب کنید",
|
||
"description": "چرخه(های) مورد پردازش را انتخاب کنید.\n\n{info_text}",
|
||
"data": {
|
||
"selected_cycles": "چرخه ها"
|
||
}
|
||
},
|
||
"editor_configure": {
|
||
"title": "پیکربندی و اعمال",
|
||
"description": "{preview_md}",
|
||
"data": {
|
||
"confirm_action": "اقدام",
|
||
"merged_profile": "نمایه نتیجه",
|
||
"new_profile_name": "نام نمایه جدید",
|
||
"confirm_commit": "بله، من این اقدام را تایید می کنم",
|
||
"segment_0_profile": "نمایه بخش 1",
|
||
"segment_1_profile": "نمایه بخش 2",
|
||
"segment_2_profile": "نمایه بخش 3",
|
||
"segment_3_profile": "نمایه بخش 4",
|
||
"segment_4_profile": "نمایه بخش 5",
|
||
"segment_5_profile": "نمایه بخش 6",
|
||
"segment_6_profile": "نمایه بخش 7",
|
||
"segment_7_profile": "نمایه بخش 8",
|
||
"segment_8_profile": "نمایه بخش 9",
|
||
"segment_9_profile": "نمایه بخش 10"
|
||
}
|
||
},
|
||
"editor_split_params": {
|
||
"title": "پیکربندی تقسیم",
|
||
"description": "حساسیت را برای تقسیم این چرخه تنظیم کنید. هر فاصله بیکار طولانی تر از این باعث شکاف می شود.",
|
||
"data": {
|
||
"split_mode": "روش تقسیم"
|
||
}
|
||
},
|
||
"editor_split_auto_params": {
|
||
"title": "پیکربندی تقسیم خودکار",
|
||
"description": "حساسیت تقسیم این چرخه را تنظیم کنید. هر فاصلهٔ بیکاری طولانیتر از این باعث تقسیم خواهد شد.",
|
||
"data": {
|
||
"min_gap_seconds": "آستانهٔ فاصلهٔ تقسیم (ثانیه)"
|
||
}
|
||
},
|
||
"editor_split_manual_params": {
|
||
"title": "مهرهای زمانی تقسیم دستی",
|
||
"description": "{preview_md}بازهٔ چرخه: **{cycle_start_wallclock} → {cycle_end_wallclock}** در {cycle_date}.\n\nیک یا چند مهر زمانی تقسیم (`HH:MM` یا `HH:MM:SS`) را وارد کنید، هر کدام در یک خط. چرخه در هر مهر زمانی بریده میشود — N مهر زمانی N+1 بخش تولید میکند.",
|
||
"data": {
|
||
"split_timestamps": "تقسیم مهرهای زمانی"
|
||
}
|
||
},
|
||
"reprocess_history": {
|
||
"title": "نگهداری: پردازش مجدد و بهینه سازی داده ها",
|
||
"description": "پاکسازی عمیق داده های تاریخی را انجام می دهد:\n1. خوانش های توان صفر (سکوت) را کاهش می دهد.\n2. زمان / مدت چرخه را رفع می کند.\n3. همه مدل های آماری (پاکت) را دوباره محاسبه می کند.\n\n**این را برای رفع مشکلات داده یا اعمال الگوریتم های جدید اجرا کنید.**"
|
||
},
|
||
"wipe_history": {
|
||
"title": "پاک کردن تاریخچه (فقط آزمایش)",
|
||
"description": "⚠️ با این کار همه چرخه ها و نمایه های ذخیره شده برای این دستگاه برای همیشه حذف می شود. این قابل واگرد نیست!"
|
||
},
|
||
"export_import": {
|
||
"title": "صادرات/وارد کردن JSON",
|
||
"description": "چرخهها، نمایهها، و تنظیمات و کپی/پیست کردن برای این دستگاه. زیر را صادر کنید یا برای وارد کردن JSON جایگذاری کنید.",
|
||
"data": {
|
||
"mode": "اقدام",
|
||
"json_payload": "پیکربندی کامل JSON"
|
||
},
|
||
"data_description": {
|
||
"mode": "برای کپی کردن دادهها و تنظیمات فعلی، صادرات را انتخاب کنید، یا برای جایگذاری دادههای صادر شده از دستگاه WashData دیگری، Import را انتخاب کنید.",
|
||
"json_payload": "برای صادرات: این JSON را کپی کنید (شامل چرخهها، نمایهها و تمام تنظیمات دقیقشده). برای واردات: JSON صادر شده از WashData را بچسبانید."
|
||
}
|
||
},
|
||
"record_cycle": {
|
||
"title": "چرخه ضبط",
|
||
"description": "یک چرخه را به صورت دستی ضبط کنید تا یک نمایه تمیز بدون تداخل ایجاد کنید.\n\nوضعیت: **{status}**\nمدت زمان: {duration} ثانیه\nنمونه ها: {samples}",
|
||
"menu_options": {
|
||
"record_refresh": "وضعیت تازه کردن",
|
||
"record_stop": "توقف ضبط (ذخیره و پردازش)",
|
||
"record_start": "شروع ضبط جدید",
|
||
"record_process": "پردازش آخرین ضبط (برش و ذخیره)",
|
||
"record_discard": "حذف آخرین ضبط",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"record_process": {
|
||
"title": "فرآیند ضبط",
|
||
"description": "\n\n** نمودار ضبط خام را نشان می دهد.** آبی = نگه دارید، قرمز = برش پیشنهادی.\n*گراف ثابت است و با تغییرات فرم به روز نمی شود.*\n\nضبط متوقف شد. برشها با نرخ نمونهبرداری شناساییشده (~{sampling_rate}s) تراز میشوند.\n\nمدت زمان خام: {duration} ثانیه\nنمونه ها: {samples}",
|
||
"data": {
|
||
"head_trim": "برش شروع (ثانیه)",
|
||
"tail_trim": "پایان برش (ثانیه)",
|
||
"save_mode": "ذخیره مقصد",
|
||
"profile_name": "نام نمایه"
|
||
}
|
||
},
|
||
"learning_feedbacks": {
|
||
"title": "بازخوردهای یادگیری",
|
||
"description": "بازخوردهای معلق: {count}\n\n{pending_table}\n\nیک درخواست بررسی چرخه را برای پردازش انتخاب کنید.",
|
||
"menu_options": {
|
||
"learning_feedbacks_pick": "بررسی یک بازخورد معلق",
|
||
"learning_feedbacks_dismiss_all": "رد کردن همه بازخوردهای معلق",
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"learning_feedbacks_pick": {
|
||
"title": "بازخورد برای بررسی را انتخاب کنید",
|
||
"description": "یک درخواست بررسی چرخه را برای باز کردن انتخاب کنید.",
|
||
"data": {
|
||
"selected_feedback": "چرخه را برای بررسی انتخاب کنید"
|
||
}
|
||
},
|
||
"learning_feedbacks_empty": {
|
||
"title": "بازخوردهای یادگیری",
|
||
"description": "هیچ درخواست بازخورد معلقی پیدا نشد.",
|
||
"menu_options": {
|
||
"menu_back": "← بازگشت"
|
||
}
|
||
},
|
||
"learning_feedbacks_dismiss_all": {
|
||
"title": "رد کردن همه بازخوردهای در انتظار",
|
||
"description": "شما در آستانهٔ رد کردن **{count}** درخواست بازخورد در انتظار هستید. چرخههای ردشده در سابقهٔ شما باقی میمانند، اما سیگنال یادگیری جدیدی اضافه نخواهند کرد. این کار قابل بازگشت نیست.\n\n✅ کادر زیر را علامت بزنید و روی **ارسال** کلیک کنید تا همه رد شوند.\n❌ آن را بدون علامت بگذارید و روی **ارسال** کلیک کنید تا لغو شود و برگردید.",
|
||
"data": {
|
||
"confirm_dismiss_all": "تأیید: رد کردن همه درخواستهای بازخورد معلق"
|
||
}
|
||
},
|
||
"resolve_feedback": {
|
||
"title": "بازخورد را حل کنید",
|
||
"description": "{comparison_img}{candidates_table}\n**نمایه شناسایی شده**: {detected_profile} ({confidence_pct}%)\n**مدت زمان تخمینی**: {est_duration_min} دقیقه\n**مدت زمان واقعی **: {act_duration_min} دقیقه\n\n__یک اقدام زیر را انتخاب کنید:__",
|
||
"data": {
|
||
"action": "دوست دارید چه کار کنید؟",
|
||
"corrected_profile": "برنامه صحیح (در صورت تصحیح)",
|
||
"corrected_duration": "مدت زمان صحیح بر حسب ثانیه (در صورت تصحیح)"
|
||
}
|
||
},
|
||
"trim_cycle_select": {
|
||
"title": "چرخه برش - چرخه را انتخاب کنید",
|
||
"description": "یک چرخه را برای برش انتخاب کنید. ✓ = کامل شد، ⚠ = از سر گرفته شد، ✗ = قطع شد",
|
||
"data": {
|
||
"cycle_id": "چرخه"
|
||
}
|
||
},
|
||
"trim_cycle": {
|
||
"title": "چرخه برش",
|
||
"description": "پنجره فعلی: {trim_summary}\n\n{trim_svg}",
|
||
"data": {
|
||
"action": "اقدام"
|
||
}
|
||
},
|
||
"trim_cycle_start": {
|
||
"title": "تنظیم نقطه شروع کوتاهسازی",
|
||
"description": "پنجره چرخه: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nشروع فعلی: **{current_wallclock}** (+{current_offset_min} دقیقه از شروع چرخه)\n\nبا استفاده از انتخابگر ساعت زیر، زمان شروع جدیدی را انتخاب کنید.",
|
||
"data": {
|
||
"trim_start_time": "زمان شروع جدید",
|
||
"trim_start_min": "شروع جدید (دقیقه از شروع چرخه)"
|
||
}
|
||
},
|
||
"trim_cycle_end": {
|
||
"title": "تنظیم نقطه پایان کوتاهسازی",
|
||
"description": "پنجره چرخه: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nپایان فعلی: **{current_wallclock}** (+{current_offset_min} دقیقه از شروع چرخه)\n\nبا استفاده از انتخابگر ساعت زیر، زمان پایان جدیدی را انتخاب کنید.",
|
||
"data": {
|
||
"trim_end_time": "زمان پایان جدید",
|
||
"trim_end_min": "پایان جدید (دقیقه از شروع چرخه)"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"import_failed": "واردات انجام نشد. لطفاً یک JSON صادرکننده WashData معتبر جایگذاری کنید.",
|
||
"select_exactly_one": "برای این اقدام، دقیقاً یک چرخه را انتخاب کنید.",
|
||
"select_at_least_one": "برای این اقدام، حداقل یک چرخه را انتخاب کنید.",
|
||
"select_at_least_two": "برای این اقدام، حداقل دو چرخه را انتخاب کنید.",
|
||
"profile_exists": "نمایه ای با این نام از قبل وجود دارد",
|
||
"rename_failed": "تغییر نام نمایه انجام نشد. ممکن است نمایه وجود نداشته باشد یا نام جدیدی از قبل گرفته شده باشد.",
|
||
"assignment_failed": "تخصیص نمایه به چرخه انجام نشد",
|
||
"duplicate_phase": "فازی با این نام از قبل وجود دارد.",
|
||
"phase_not_found": "فاز انتخابی یافت نشد.",
|
||
"invalid_phase_name": "نام فاز نمی تواند خالی باشد.",
|
||
"phase_name_too_long": "نام فاز خیلی طولانی است.",
|
||
"invalid_phase_range": "محدوده فاز نامعتبر است. پایان باید بزرگتر از شروع باشد.",
|
||
"invalid_phase_timestamp": "مهر زمانی نامعتبر است. از قالب YYYY-MM-DD HH:MM یا HH:MM استفاده کنید.",
|
||
"overlapping_phase_ranges": "محدوده فازها همپوشانی دارند. محدوده ها را تنظیم کنید و دوباره امتحان کنید.",
|
||
"incomplete_phase_row": "هر ردیف فاز باید شامل یک فاز به اضافه مقادیر شروع/پایان کامل برای حالت انتخاب شده باشد.",
|
||
"timestamp_mode_cycle_required": "لطفاً هنگام استفاده از حالت مهر زمانی، یک چرخه منبع را انتخاب کنید.",
|
||
"no_phase_ranges": "هنوز هیچ محدوده فازی برای آن اقدام موجود نیست.",
|
||
"feedback_notification_title": "WashData: چرخه تأیید ({device})",
|
||
"feedback_notification_message": "**دستگاه**: {device}\n**برنامه**: {program} ({confidence}٪ اطمینان)\n**زمان**: {time}\n\nWashData برای تأیید این چرخه شناسایی شده به کمک شما نیاز دارد.\n\nلطفاً برای تأیید یا تصحیح این نتیجه به **تنظیمات > دستگاهها و خدمات > WashData > پیکربندی > بازخوردهای یادگیری** بروید.",
|
||
"suggestions_ready_notification_title": "WashData: تنظیمات پیشنهادی آماده ({device})",
|
||
"suggestions_ready_notification_message": "حسگر **تنظیمات پیشنهادی** اکنون **{count}** توصیه های قابل اجرا را گزارش می دهد.\n\nبرای بررسی و اعمال آنها: **تنظیمات > دستگاهها و خدمات > WashData > پیکربندی > تنظیمات پیشرفته > اعمال مقادیر پیشنهادی**.\n\nپیشنهادات اختیاری هستند و قبل از ذخیره برای بررسی نشان داده می شوند.",
|
||
"trim_range_invalid": "شروع باید قبل از پایان باشد. لطفا نقاط برش خود را تنظیم کنید.",
|
||
"trim_failed": "برش انجام نشد. ممکن است چرخه دیگر وجود نداشته باشد یا پنجره خالی باشد.",
|
||
"invalid_split_timestamp": "مهر زمانی نامعتبر است یا خارج از پنجره چرخه است. از HH:MM یا HH:MM:SS در محدوده پنجره چرخه استفاده کنید.",
|
||
"no_split_segments_found": "هیچ بخش معتبری از این مهرهای زمانی تولید نشد. مطمئن شوید هر مهر زمانی داخل پنجره چرخه است و هر بخش دستکم 1 دقیقه طول دارد.",
|
||
"auto_tune_suggestion": "{device_type} {device_title} چرخه های ارواح را شناسایی کرد. حداقل تغییر توان پیشنهادی: {current_min}W -> {new_min}W (به طور خودکار اعمال نمی شود).",
|
||
"auto_tune_title": "تنظیم خودکار WashData",
|
||
"auto_tune_fallback": "{device_type} {device_title} چرخه های ارواح را شناسایی کرد. حداقل تغییر توان پیشنهادی: {current_min}W -> {new_min}W (به طور خودکار اعمال نمی شود)."
|
||
},
|
||
"abort": {
|
||
"no_cycles_found": "هیچ چرخه ای یافت نشد",
|
||
"no_split_segments_found": "هیچ بخش قابل تقسیم در چرخه انتخابشده پیدا نشد.",
|
||
"cycle_not_found": "بارگذاری چرخه انتخابشده ممکن نشد.",
|
||
"no_power_data": "هیچ داده ردیابی نیرو برای چرخه انتخابی موجود نیست.",
|
||
"no_profiles_found": "هیچ پروفایلی پیدا نشد ابتدا یک نمایه ایجاد کنید.",
|
||
"no_profiles_for_matching": "هیچ نمایه ای برای مطابقت در دسترس نیست. ابتدا پروفایل ایجاد کنید",
|
||
"no_unlabeled_cycles": "همه چرخه ها قبلاً برچسب گذاری شده اند",
|
||
"no_suggestions": "هنوز مقادیر پیشنهادی موجود نیست. چند چرخه را اجرا کنید و دوباره امتحان کنید.",
|
||
"no_predictions": "بدون پیش بینی",
|
||
"no_custom_phases": "هیچ فاز سفارشی یافت نشد.",
|
||
"reprocess_success": "{count} چرخه با موفقیت دوباره پردازش شد.",
|
||
"debug_data_cleared": "دادههای اشکالزدایی از چرخههای {count} با موفقیت پاک شد."
|
||
}
|
||
},
|
||
"selector": {
|
||
"notify_events_option": {
|
||
"options": {
|
||
"cycle_start": "شروع چرخه",
|
||
"cycle_finish": "چرخه پایان",
|
||
"cycle_live": "پیشرفت زنده"
|
||
}
|
||
},
|
||
"common_text": {
|
||
"options": {
|
||
"unlabeled": "(بدون برچسب)",
|
||
"create_new_profile": "ایجاد نمایه جدید",
|
||
"remove_label": "حذف برچسب",
|
||
"no_reference_cycle": "(بدون چرخه مرجع)",
|
||
"all_device_types": "همه انواع دستگاه",
|
||
"current_suffix": "(جاری)",
|
||
"editor_select_info": "1 چرخه را برای تقسیم یا 2+ چرخه را برای ادغام انتخاب کنید.",
|
||
"editor_select_info_split": "برای تقسیم، 1 چرخه را انتخاب کنید.",
|
||
"editor_select_info_merge": "برای ادغام، 2+ چرخه را انتخاب کنید.",
|
||
"editor_select_info_delete": "برای حذف، 1+ چرخه را انتخاب کنید.",
|
||
"no_cycles_recorded": "هنوز هیچ چرخه ای ثبت نشده است.",
|
||
"profile_summary_line": "- **{name}**: {count} چرخه، میانگین {avg} دقیقه",
|
||
"no_profiles_created": "هنوز هیچ پروفایلی ایجاد نشده است.",
|
||
"phase_preview": "پیش نمایش فاز",
|
||
"phase_preview_no_curve": "منحنی نمایه متوسط هنوز در دسترس نیست. چرخه های بیشتری را برای این نمایه اجرا کنید/برچسب بزنید.",
|
||
"average_power_curve": "منحنی توان متوسط",
|
||
"unit_min": "دقیقه",
|
||
"profile_option_fmt": "{name} ({count} چرخه، ~{duration} دقیقه به طور میانگین)",
|
||
"profile_option_short_fmt": "{name} ({count} چرخه، ~{duration} دقیقه)",
|
||
"deleted_cycles_from_profile": "{count} چرخه از {profile} حذف شد.",
|
||
"not_enough_data_graph": "داده های کافی برای تولید نمودار وجود ندارد.",
|
||
"no_profiles_found": "هیچ پروفایلی پیدا نشد",
|
||
"cycle_info_fmt": "چرخه: {start}، {duration} دقیقه، فعلی: {label}",
|
||
"top_candidates_header": "### نامزدهای برتر",
|
||
"tbl_profile": "نمایه",
|
||
"tbl_confidence": "اطمینان",
|
||
"tbl_correlation": "همبستگی",
|
||
"tbl_duration_match": "تطابق مدت",
|
||
"detected_profile": "نمایه شناسایی شده",
|
||
"estimated_duration": "مدت زمان تخمینی",
|
||
"actual_duration": "مدت زمان واقعی",
|
||
"choose_action": "__یک اقدام زیر را انتخاب کنید:__",
|
||
"tbl_count": "تعداد",
|
||
"tbl_avg": "میانگین",
|
||
"tbl_min": "حداقل",
|
||
"tbl_max": "حداکثر",
|
||
"tbl_energy_avg": "انرژی (میانگین)",
|
||
"tbl_energy_total": "انرژی (کل)",
|
||
"tbl_consistency": "یکنواختی",
|
||
"tbl_last_run": "آخرین اجرا",
|
||
"graph_legend_title": "افسانه نمودار",
|
||
"graph_legend_body": "نوار آبی نشان دهنده حداقل و حداکثر بازه مصرف توان مشاهده شده است. خط منحنی توان متوسط را نشان می دهد.",
|
||
"recording_preview": "پیش نمایش ضبط",
|
||
"trim_start": "برش شروع",
|
||
"trim_end": "پایان را برش دهید",
|
||
"split_preview_title": "پیش نمایش تقسیم",
|
||
"split_preview_found_fmt": "{count} بخش پیدا شد.",
|
||
"split_preview_confirm_fmt": "روی تأیید کلیک کنید تا این چرخه به {count} چرخه جداگانه تقسیم شود.",
|
||
"merge_preview_title": "پیش نمایش ادغام",
|
||
"merge_preview_joining_fmt": "پیوستن به {count} چرخه. شکاف ها با قرائت های 0W پر می شوند.",
|
||
"editor_delete_preview_title": "پیشنمایش حذف",
|
||
"editor_delete_preview_intro": "چرخههای انتخابشده برای همیشه حذف خواهند شد:",
|
||
"editor_delete_preview_confirm": "برای حذف دائمی این رکوردهای چرخه، روی تأیید کلیک کنید.",
|
||
"no_power_preview": "*داده برق برای پیش نمایش موجود نیست.*",
|
||
"profile_comparison": "مقایسه پروفایل",
|
||
"actual_cycle_label": "این چرخه (واقعی)",
|
||
"storage_usage_header": "استفاده از فضای ذخیره سازی",
|
||
"storage_file_size": "اندازه فایل",
|
||
"storage_cycles": "چرخه ها",
|
||
"storage_profiles": "پروفایل ها",
|
||
"storage_debug_traces": "ردیابی اشکال زدایی",
|
||
"overview_suffix": "نمای کلی",
|
||
"phase_preview_for_profile": "پیش نمایش فاز برای نمایه",
|
||
"current_ranges_header": "محدوده های فعلی",
|
||
"assign_phases_help": "از اقدامات زیر برای افزودن، ویرایش، حذف یا ذخیره محدوده استفاده کنید.",
|
||
"profile_summary_header": "خلاصه نمایه",
|
||
"recent_cycles_header": "چرخه های اخیر",
|
||
"trim_cycle_preview_title": "پیش نمایش برش چرخه",
|
||
"trim_cycle_preview_no_data": "هیچ داده توان برای این چرخه در دسترس نیست.",
|
||
"trim_cycle_preview_kept_suffix": "نگهداری می شود",
|
||
"table_program": "برنامه",
|
||
"table_when": "زمان",
|
||
"table_length": "مدت",
|
||
"table_match": "تطابق",
|
||
"table_profile": "نمایه",
|
||
"table_cycles": "چرخه ها",
|
||
"table_avg_length": "میانگین مدت",
|
||
"table_last_run": "آخرین اجرا",
|
||
"table_avg_energy": "میانگین انرژی",
|
||
"table_detected_program": "برنامه شناساییشده",
|
||
"table_confidence": "اطمینان",
|
||
"table_reported": "گزارششده",
|
||
"phase_builtin_suffix": "(توکار)",
|
||
"phase_none_available": "هیچ فازی در دسترس نیست",
|
||
"settings_deprecation_warning": "⚠️ **نوع دستگاه منسوخ شده:** {device_type} برای حذف در نسخه بعدی برنامه ریزی شده است. خط لوله تطبیق WashData نتایج قابل اعتمادی برای این کلاس لوازم خانگی ایجاد نمی کند. ادغام شما در طول دوره انحلال به کار خود ادامه می دهد. برای خاموش کردن این هشدار، **نوع دستگاه** زیر را به یکی از انواع پشتیبانی شده (ماشین لباسشویی، خشک کن، ماشین لباسشویی و خشک کن ترکیبی، ماشین ظرفشویی، سرخ کن هوا، نان ساز یا پمپ) یا اگر دستگاه شما با هیچ یک از انواع پشتیبانی شده مطابقت ندارد، به **سایر (پیشرفته)** تغییر دهید. **سایر (پیشرفته)** پیشفرضهای عمدی عمومی را ارسال میکند که برای هیچ دستگاه خاصی تنظیم نشدهاند، بنابراین باید آستانهها، زمانبندیها و پارامترهای مطابقت را خودتان پیکربندی کنید. تمام تنظیمات موجود شما هنگام تغییر حفظ می شود.",
|
||
"phase_other_device_types": "انواع دیگر دستگاه:"
|
||
}
|
||
},
|
||
"interactive_editor_action": {
|
||
"options": {
|
||
"split": "تقسیم یک چرخه (یافتن شکاف ها)",
|
||
"merge": "چرخه های ادغام (پیوستن قطعات)",
|
||
"delete": "حذف چرخه(های)"
|
||
}
|
||
},
|
||
"split_mode": {
|
||
"options": {
|
||
"auto": "شکافهای بیکاری را خودکار تشخیص دهید",
|
||
"manual": "مهر زمانی دستی"
|
||
}
|
||
},
|
||
"diagnostics_action": {
|
||
"options": {
|
||
"reprocess_history": "نگهداری: پردازش مجدد و بهینه سازی داده ها",
|
||
"clear_debug_data": "پاک کردن داده های اشکال زدایی (آزاد کردن فضا)",
|
||
"wipe_history": "پاک کردن تمام دادههای این دستگاه (غیرقابل برگشت)",
|
||
"export_import": "صادرات/وارد کردن JSON با تنظیمات (کپی/پیست)"
|
||
}
|
||
},
|
||
"export_import_mode": {
|
||
"options": {
|
||
"export": "صادرات همه داده ها",
|
||
"import": "وارد کردن/ادغام داده ها"
|
||
}
|
||
},
|
||
"manage_cycles_action": {
|
||
"options": {
|
||
"auto_label_cycles": "برچسبگذاری خودکار چرخههای قدیمی",
|
||
"select_cycle_to_label": "چرخه خاص برچسب",
|
||
"select_cycle_to_delete": "چرخه را حذف کنید",
|
||
"interactive_editor": "ادغام / تقسیم ویرایشگر تعاملی",
|
||
"trim_cycle": "داده های چرخه برش"
|
||
}
|
||
},
|
||
"manage_profiles_action": {
|
||
"options": {
|
||
"create_profile": "ایجاد نمایه جدید",
|
||
"edit_profile": "ویرایش/تغییر نام نمایه",
|
||
"delete_profile": "حذف نمایه",
|
||
"profile_stats": "آمار پروفایل",
|
||
"cleanup_profile": "پاک کردن تاریخچه - نمودار و حذف",
|
||
"assign_phases": "محدوده های فاز را تعیین کنید"
|
||
}
|
||
},
|
||
"manage_phase_catalog_action": {
|
||
"options": {
|
||
"create_custom_phase": "فاز جدید ایجاد کنید",
|
||
"edit_custom_phase": "فاز ویرایش",
|
||
"delete_custom_phase": "حذف فاز"
|
||
}
|
||
},
|
||
"assign_profile_phases_action": {
|
||
"options": {
|
||
"add_range": "محدوده فاز را اضافه کنید",
|
||
"edit_range": "ویرایش محدوده فاز",
|
||
"delete_range": "حذف محدوده فاز",
|
||
"clear_ranges": "پاک کردن همه محدوده ها",
|
||
"auto_detect_ranges": "تشخیص خودکار فازها",
|
||
"save_ranges": "ذخیره و برگردانید"
|
||
}
|
||
},
|
||
"record_cycle_action": {
|
||
"options": {
|
||
"refresh_status": "وضعیت تازه کردن",
|
||
"stop_recording": "توقف ضبط (ذخیره و پردازش)",
|
||
"start_recording": "شروع ضبط جدید",
|
||
"process_recording": "پردازش آخرین ضبط (برش و ذخیره)",
|
||
"discard_recording": "حذف آخرین ضبط"
|
||
}
|
||
},
|
||
"record_process_save_mode": {
|
||
"options": {
|
||
"new_profile": "ایجاد نمایه جدید",
|
||
"existing_profile": "به نمایه موجود اضافه کنید",
|
||
"discard": "حذف ضبط"
|
||
}
|
||
},
|
||
"resolve_feedback_action": {
|
||
"options": {
|
||
"confirm": "تأیید - تشخیص صحیح",
|
||
"correct": "درست - برنامه/مدت را انتخاب کنید",
|
||
"ignore": "نادیده گرفتن - چرخه مثبت کاذب/نویز",
|
||
"delete": "حذف - حذف از تاریخچه"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect_action": {
|
||
"options": {
|
||
"name_phases": "نام و اعمال مراحل",
|
||
"cancel": "بدون تغییر به عقب برگردید"
|
||
}
|
||
},
|
||
"trim_cycle_action": {
|
||
"options": {
|
||
"set_start": "نقطه شروع را تنظیم کنید",
|
||
"set_end": "نقطه پایان را تنظیم کنید",
|
||
"reset": "بازنشانی به مدت زمان کامل",
|
||
"apply": "Trim را اعمال کنید",
|
||
"cancel": "لغو کنید"
|
||
}
|
||
},
|
||
"device_type": {
|
||
"options": {
|
||
"washing_machine": "ماشین لباسشویی",
|
||
"dryer": "خشک کن",
|
||
"washer_dryer": "ترکیب لباسشویی و خشک کن",
|
||
"dishwasher": "ماشین ظرفشویی",
|
||
"coffee_machine": "دستگاه قهوه ساز (منسوخ شده)",
|
||
"ev": "خودروی برقی (منسوخ شده)",
|
||
"air_fryer": "سرخ کن هوا",
|
||
"heat_pump": "پمپ حرارتی (منسوخ شده)",
|
||
"bread_maker": "نان ساز",
|
||
"pump": "پمپ / پمپ پمپ",
|
||
"oven": "فر (منسوخ شده)",
|
||
"other": "سایر (پیشرفته)"
|
||
}
|
||
}
|
||
},
|
||
"services": {
|
||
"label_cycle": {
|
||
"name": "چرخه برچسب",
|
||
"description": "یک نمایه موجود را به چرخه گذشته اختصاص دهید یا برچسب را بردارید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی برای برچسب زدن."
|
||
},
|
||
"cycle_id": {
|
||
"name": "شناسه چرخه",
|
||
"description": "شناسه چرخه برای برچسب زدن."
|
||
},
|
||
"profile_name": {
|
||
"name": "نام نمایه",
|
||
"description": "نام یک نمایه موجود (ایجاد نمایه ها در منوی Manage Profiles). برای حذف برچسب خالی بگذارید."
|
||
}
|
||
}
|
||
},
|
||
"create_profile": {
|
||
"name": "ایجاد نمایه",
|
||
"description": "یک نمایه جدید (به تنهایی یا بر اساس یک چرخه مرجع) ایجاد کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی."
|
||
},
|
||
"profile_name": {
|
||
"name": "نام نمایه",
|
||
"description": "نام نمایه جدید (مثلاً \"Heavy Duty\"، \"Delicates\")."
|
||
},
|
||
"reference_cycle_id": {
|
||
"name": "شناسه چرخه مرجع",
|
||
"description": "شناسه چرخه اختیاری برای استناد به این نمایه."
|
||
}
|
||
}
|
||
},
|
||
"delete_profile": {
|
||
"name": "حذف نمایه",
|
||
"description": "یک نمایه را حذف کنید و به صورت اختیاری چرخه ها را با استفاده از آن لغو برچسب کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی."
|
||
},
|
||
"profile_name": {
|
||
"name": "نام نمایه",
|
||
"description": "نمایه برای حذف"
|
||
},
|
||
"unlabel_cycles": {
|
||
"name": "چرخه ها را بدون برچسب",
|
||
"description": "با استفاده از این نمایه، برچسب نمایه را از چرخهها حذف کنید."
|
||
}
|
||
}
|
||
},
|
||
"auto_label_cycles": {
|
||
"name": "برچسبگذاری خودکار چرخههای قدیمی",
|
||
"description": "با استفاده از تطبیق نمایه، چرخههای بدون برچسب را بهعنوان ماسبق برچسبگذاری کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی."
|
||
},
|
||
"confidence_threshold": {
|
||
"name": "آستانه اعتماد",
|
||
"description": "حداقل اطمینان مطابقت (0.50-0.95) برای اعمال برچسب ها."
|
||
}
|
||
}
|
||
},
|
||
"export_config": {
|
||
"name": "صادر کردن پیکربندی",
|
||
"description": "نمایهها، چرخهها و تنظیمات این دستگاه را به یک فایل JSON (در هر دستگاه) صادر کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی برای صادرات."
|
||
},
|
||
"path": {
|
||
"name": "مسیر",
|
||
"description": "مسیر فایل مطلق اختیاری برای نوشتن (پیشفرض /config/ha_washdata_export_{entry}.json)."
|
||
}
|
||
}
|
||
},
|
||
"import_config": {
|
||
"name": "پیکربندی را وارد کنید",
|
||
"description": "نمایهها، چرخهها و تنظیمات این دستگاه را از یک فایل صادراتی JSON وارد کنید (تنظیمات ممکن است بازنویسی شوند).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی برای وارد کردن."
|
||
},
|
||
"path": {
|
||
"name": "مسیر",
|
||
"description": "مسیر مطلق فایل JSON صادراتی برای وارد کردن."
|
||
}
|
||
}
|
||
},
|
||
"submit_cycle_feedback": {
|
||
"name": "ارسال بازخورد چرخه",
|
||
"description": "پس از یک چرخه کامل، یک برنامه شناسایی خودکار را تأیید یا تصحیح کنید. «entry_id» (پیشرفته) یا «device_id» (توصیه میشود) را ارائه دهید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه WashData (به جای entry_id توصیه می شود)."
|
||
},
|
||
"entry_id": {
|
||
"name": "شناسه ورودی",
|
||
"description": "شناسه ورودی پیکربندی برای دستگاه (جایگزین device_id)."
|
||
},
|
||
"cycle_id": {
|
||
"name": "شناسه چرخه",
|
||
"description": "شناسه چرخه نشان داده شده در اعلان بازخورد / سیاهههای مربوط."
|
||
},
|
||
"user_confirmed": {
|
||
"name": "برنامه شناسایی شده را تأیید کنید",
|
||
"description": "اگر برنامه شناسایی شده درست است، true را تنظیم کنید."
|
||
},
|
||
"corrected_profile": {
|
||
"name": "نمایه تصحیح شده",
|
||
"description": "اگر تأیید نشد، نام پروفایل/برنامه صحیح را وارد کنید."
|
||
},
|
||
"corrected_duration": {
|
||
"name": "مدت زمان تصحیح شده (ثانیه)",
|
||
"description": "مدت زمان تصحیح اختیاری در ثانیه."
|
||
},
|
||
"notes": {
|
||
"name": "یادداشت ها",
|
||
"description": "یادداشت های اختیاری در مورد این چرخه."
|
||
}
|
||
}
|
||
},
|
||
"record_start": {
|
||
"name": "شروع چرخه ضبط",
|
||
"description": "ضبط دستی یک چرخه تمیز را شروع کنید (کلیه منطق منطبق را دور می زند).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی برای ضبط."
|
||
}
|
||
}
|
||
},
|
||
"record_stop": {
|
||
"name": "توقف چرخه ضبط",
|
||
"description": "ضبط دستی را متوقف کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه ماشین لباسشویی ضبط را متوقف می کند."
|
||
}
|
||
}
|
||
},
|
||
"trim_cycle": {
|
||
"name": "چرخه برش",
|
||
"description": "داده های قدرت یک چرخه گذشته را در یک پنجره زمانی خاص برش دهید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه WashData."
|
||
},
|
||
"cycle_id": {
|
||
"name": "شناسه چرخه",
|
||
"description": "شناسه چرخه برای اصلاح."
|
||
},
|
||
"trim_start_s": {
|
||
"name": "برش شروع (ثانیه)",
|
||
"description": "داده های این افست را در چند ثانیه نگه دارید. پیش فرض 0."
|
||
},
|
||
"trim_end_s": {
|
||
"name": "پایان برش (ثانیه)",
|
||
"description": "داده ها را در عرض چند ثانیه تا این میزان افست نگه دارید. پیش فرض = مدت زمان کامل."
|
||
}
|
||
}
|
||
},
|
||
"pause_cycle": {
|
||
"name": "چرخه مکث",
|
||
"description": "چرخه فعال دستگاه WashData را متوقف کنید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه WashData برای مکث."
|
||
}
|
||
}
|
||
},
|
||
"resume_cycle": {
|
||
"name": "چرخه از سرگیری",
|
||
"description": "یک چرخه متوقف شده را برای دستگاه WashData از سر بگیرید.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "دستگاه",
|
||
"description": "دستگاه WashData از سر گرفته می شود."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"entity": {
|
||
"binary_sensor": {
|
||
"running": {
|
||
"name": "در حال کار"
|
||
},
|
||
"match_ambiguity": {
|
||
"name": "ابهام مطابقت"
|
||
}
|
||
},
|
||
"sensor": {
|
||
"washer_state": {
|
||
"name": "وضعیت",
|
||
"state": {
|
||
"off": "خاموش",
|
||
"idle": "در انتظار",
|
||
"starting": "در حال شروع",
|
||
"running": "در حال کار",
|
||
"paused": "مکث کرد",
|
||
"user_paused": "توسط کاربر مکث شد",
|
||
"ending": "پایان یافتن",
|
||
"finished": "تمام شد",
|
||
"anti_wrinkle": "ضد چروک",
|
||
"delay_wait": "در انتظار شروع",
|
||
"interrupted": "قطع شد",
|
||
"force_stopped": "اجباری متوقف شد",
|
||
"rinse": "آبکشی",
|
||
"unknown": "ناشناس",
|
||
"clean": "تمیز"
|
||
}
|
||
},
|
||
"washer_program": {
|
||
"name": "برنامه"
|
||
},
|
||
"time_remaining": {
|
||
"name": "زمان باقی مانده"
|
||
},
|
||
"total_duration": {
|
||
"name": "مدت زمان کل"
|
||
},
|
||
"cycle_progress": {
|
||
"name": "پیشرفت"
|
||
},
|
||
"current_power": {
|
||
"name": "قدرت فعلی"
|
||
},
|
||
"elapsed_time": {
|
||
"name": "زمان سپری شده"
|
||
},
|
||
"debug_info": {
|
||
"name": "اطلاعات اشکال زدایی"
|
||
},
|
||
"match_confidence": {
|
||
"name": "اطمینان تطابق"
|
||
},
|
||
"top_candidates": {
|
||
"name": "نامزدهای برتر",
|
||
"state": {
|
||
"none": "هیچ کدام"
|
||
}
|
||
},
|
||
"current_phase": {
|
||
"name": "فاز فعلی"
|
||
},
|
||
"wash_phase": {
|
||
"name": "فاز"
|
||
},
|
||
"profile_cycle_count": {
|
||
"name": "تعداد چرخههای نمایه {profile_name}",
|
||
"unit_of_measurement": "چرخه ها"
|
||
},
|
||
"suggestions": {
|
||
"name": "تنظیمات پیشنهادی موجود"
|
||
},
|
||
"pump_runs_today": {
|
||
"name": "کارکرد پمپ (24 ساعت گذشته)"
|
||
},
|
||
"cycle_count": {
|
||
"name": "تعداد چرخه"
|
||
}
|
||
},
|
||
"select": {
|
||
"program_select": {
|
||
"name": "برنامه چرخه",
|
||
"state": {
|
||
"auto_detect": "تشخیص خودکار"
|
||
}
|
||
}
|
||
},
|
||
"button": {
|
||
"force_end_cycle": {
|
||
"name": "پایان اجباری چرخه"
|
||
},
|
||
"pause_cycle": {
|
||
"name": "چرخه مکث"
|
||
},
|
||
"resume_cycle": {
|
||
"name": "چرخه از سرگیری"
|
||
}
|
||
}
|
||
},
|
||
"exceptions": {
|
||
"device_id_required": {
|
||
"message": "یک device_id معتبر مورد نیاز است."
|
||
},
|
||
"cycle_id_required": {
|
||
"message": "یک cycle_id معتبر مورد نیاز است."
|
||
},
|
||
"profile_name_required": {
|
||
"message": "یک profile_name معتبر لازم است."
|
||
},
|
||
"device_not_found": {
|
||
"message": "دستگاه پیدا نشد"
|
||
},
|
||
"no_config_entry": {
|
||
"message": "هیچ ورودی پیکربندی برای دستگاه یافت نشد."
|
||
},
|
||
"integration_not_loaded": {
|
||
"message": "ادغام برای این دستگاه بارگیری نشده است."
|
||
},
|
||
"cycle_not_found_or_no_power": {
|
||
"message": "چرخه یافت نشد یا داده برق ندارد."
|
||
},
|
||
"trim_failed_empty_window": {
|
||
"message": "برش انجام نشد - چرخه یافت نشد، هیچ داده برق یا پنجره حاصل خالی است."
|
||
},
|
||
"trim_invalid_range": {
|
||
"message": "trim_end_s باید بزرگتر از trim_start_s باشد."
|
||
}
|
||
}
|
||
}
|