Files
Home-Assistant/custom_components/ha_washdata/translations/ar.json
T
2026-06-14 02:01:49 -04:00

1342 lines
94 KiB
JSON

{
"config": {
"step": {
"user": {
"title": "إعداد بيانات الغسيل",
"description": "قم بتكوين غسالتك أو أي جهاز آخر.\n\nمطلوب جهاز استشعار الطاقة.\n\n**بعد ذلك، سيتم سؤالك عما إذا كنت تريد إنشاء ملفك الشخصي الأول.**",
"data": {
"name": "اسم الجهاز",
"device_type": "نوع الجهاز",
"power_sensor": "مستشعر الطاقة",
"min_power": "الحد الأدنى لعتبة الطاقة (W)"
},
"data_description": {
"name": "اسم مألوف لهذا الجهاز (على سبيل المثال، \"غسالة\"، \"غسالة أطباق\").",
"device_type": "ما نوع هذا الجهاز؟ يساعد على تخصيص الكشف ووضع العلامات.",
"power_sensor": "كيان المستشعر الذي يقوم بالإبلاغ عن استهلاك الطاقة في الوقت الفعلي (بالواط) من القابس الذكي الخاص بك.",
"min_power": "تشير قراءات الطاقة فوق هذا الحد (بالواط) إلى أن الجهاز قيد التشغيل. ابدأ بـ 2 وات لمعظم الأجهزة."
}
},
"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": "تشير قراءات الطاقة فوق هذا الحد (بالواط) إلى أن الجهاز قيد التشغيل. ابدأ بـ 2 وات لمعظم الأجهزة.",
"off_delay": "الثواني، يجب أن تظل القوة الممهدة أقل من حد التوقف لوضع علامة على الاكتمال. الافتراضي: 120 ثانية.",
"notify_actions": "تسلسل إجراءات Home Assistant الاختياري لتشغيل الإشعارات (البرامج النصية، والإشعارات، وتحويل النص إلى كلام، وما إلى ذلك). في حالة التعيين، سيتم تشغيل الإجراءات قبل خدمة الإشعارات الاحتياطية.",
"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:washing-machine). اتركه فارغًا لاستخدام الافتراضي.",
"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 الاختياري لتشغيل الإشعارات (البرامج النصية، والإشعارات، وتحويل النص إلى كلام، وما إلى ذلك). في حالة التعيين، سيتم تشغيل الإجراءات قبل خدمة الإشعارات الاحتياطية.",
"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.2x).",
"notify_live_chronometer": "عند التمكين، يتضمن كل تحديث مباشر عدًا تنازليًا للكرونومتر حتى وقت الانتهاء المقدر. يستمر مؤقت الإشعارات في العد التنازلي تلقائيًا على الجهاز بين التحديثات (تطبيق Android المصاحب فقط).",
"notify_title": "عنوان مخصص للإخطارات. يدعم العنصر النائب {device}.",
"notify_icon": "الرمز المطلوب استخدامه للإشعارات (على سبيل المثال، mdi:washing-machine). اتركه فارغًا لاستخدام الافتراضي.",
"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": "وأرسل نص التذكير غير المكرر رقماً محدداً قبل الموعد المقدر بدقائق. متفرقة من التحديثات الحية المتكررة أعلاه. Supports {device}, {minutes}, {program} مَلْكِلَةِ.",
"notify_timeout_seconds": "إشعارات بالطرد الآلي بعد هذه الثواني الكثيرة (المقدمة كطلب مرافق) إستعدْ إلى صفر لإبقائهم حتى رُفضَ. الفشل: صفر.",
"notify_channel": "Androidقناة الإخطار بالطلب المصاحب للحصول على المركز، التقدم الحي، والإخطارات التذكيرية. إن صوت القناة وأهميتها مهيأة في تطبيق الرفيق في المرة الأولى التي يستخدم فيها اسم القناة - واشداتا لا تحدد سوى اسم القناة. إتركْ فارغاً لمقعدِ التأليفِ.",
"notify_finish_channel": "قناة Android منفصلة للتنبيه النهائي (يستخدم أيضًا بواسطة التذكير وتذمر انتظار الغسيل) حتى يكون له صوت خاص به. اتركه فارغًا لإعادة استخدام القناة أعلاه.",
"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": "بدء مدة (فترات) الارتداد",
"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 واط لمدة ثانيتين) قبل بدء الدورة الحقيقية. الافتراضي: 5S.",
"start_energy_threshold": "يجب أن تتراكم الدورة على الأقل هذا القدر من الطاقة (Wh) خلال مرحلة START حتى يتم تأكيدها. الافتراضي: 0.005 واط ساعة.",
"completion_min_seconds": "سيتم وضع علامة على الدورات الأقصر من ذلك على أنها \"متقطعة\" حتى لو انتهت بشكل طبيعي. الافتراضي: 600 ثانية.",
"start_threshold_w": "يجب أن ترتفع الطاقة فوق هذا الحد لبدء الدورة. تعيين أعلى من الطاقة الاحتياطية الخاصة بك. الافتراضي: min_power + 1 وات.",
"stop_threshold_w": "يجب أن تنخفض الطاقة عن هذا الحد لإنهاء الدورة. اضبطه أعلى بقليل من الصفر لتجنب التسبب في حدوث نهايات زائفة. الافتراضي: 0.6 * min_power.",
"end_energy_threshold": "تنتهي الدورة فقط إذا كانت الطاقة في نافذة تأخير التوقف الأخيرة أقل من هذه القيمة (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": "عدد المرات (بالثواني) لمحاولة مطابقة الملف الشخصي أثناء الدورة. توفر القيم المنخفضة اكتشافًا أسرع ولكنها تستخدم المزيد من وحدة المعالجة المركزية. الافتراضي: 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": "تمكين الصيانة التلقائية",
"expose_debug_entities": "فضح كيانات التصحيح",
"save_debug_traces": "حفظ آثار التصحيح"
},
"data_description": {
"watchdog_interval": "ثواني بين الشيكات الرقابية أثناء التشغيل. الافتراضي: 5S. تحذير: تأكد من أن هذا أعلى من الفاصل الزمني لتحديث المستشعر الخاص بك لتجنب التوقفات الخاطئة (على سبيل المثال، إذا تم تحديث المستشعر كل 60 ثانية، فاستخدم 65 ثانية+).",
"no_update_active_timeout": "بالنسبة لأجهزة استشعار النشر عند التغيير: قم بفرض إنهاء الدورة النشطة فقط في حالة عدم وصول أي تحديثات لهذه الثواني العديدة. لا يزال إكمال الطاقة المنخفضة يستخدم تأخير إيقاف التشغيل.",
"progress_reset_delay": "بعد اكتمال الدورة (100%)، انتظر هذه الثواني العديدة من الخمول قبل إعادة تعيين التقدم إلى 0%. الافتراضي: 300 ثانية.",
"auto_maintenance": "تمكين الصيانة التلقائية (إصلاح العينات، ودمج الأجزاء).",
"expose_debug_entities": "إظهار أجهزة الاستشعار المتقدمة (الثقة، المرحلة، الغموض) لتصحيح الأخطاء.",
"save_debug_traces": "قم بتخزين بيانات التصنيف التفصيلية وتتبع الطاقة في السجل (يزيد من استخدام التخزين)."
}
},
"anti_wrinkle_section": {
"name": "درع مضاد للتجاعيد (للمجففات)",
"description": "تجاهل دورانات الأسطوانة بعد انتهاء الدورة لمنع الدورات الشبحية. للمجفف / الغسالة-المجفف فقط.",
"data": {
"anti_wrinkle_enabled": "درع مضاد للتجاعيد (المجفف فقط)",
"anti_wrinkle_max_power": "القوة القصوى المضادة للتجاعيد (وات)",
"anti_wrinkle_max_duration": "الحد الأقصى للمدة (المدد) المضادة للتجاعيد",
"anti_wrinkle_exit_power": "قوة الخروج المضادة للتجاعيد (وات)"
},
"data_description": {
"anti_wrinkle_enabled": "تجاهل دورات الأسطوانة القصيرة منخفضة الطاقة بعد انتهاء الدورة لمنع دورات التشويه (المجفف/الغسالة والمجفف فقط).",
"anti_wrinkle_max_power": "يتم التعامل مع الاندفاعات عند هذه القوة أو أقل منها على أنها دورات مضادة للتجاعيد بدلاً من الدورات الجديدة. ينطبق فقط عند تمكين Anti-Wrinkle Shield.",
"anti_wrinkle_max_duration": "الحد الأقصى لطول الانفجار لعلاجه كدوران مضاد للتجاعيد. ينطبق فقط عند تمكين Anti-Wrinkle Shield.",
"anti_wrinkle_exit_power": "إذا انخفضت الطاقة إلى ما دون هذا المستوى، فاخرج من مضاد التجاعيد على الفور (إيقاف صحيح). ينطبق فقط عند تمكين Anti-Wrinkle Shield."
}
},
"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": "يجب أن تبقى الطاقة بين عتبة الإيقاف (W) وعتبة البدء (W) لهذا العدد من الثواني قبل أن تدخل WashData حالة 'في انتظار البدء'. يؤدي ذلك إلى تصفية قمم التنقل القصيرة في القوائم. الافتراضي: 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": "رابط الجهاز",
"description": "(ب) ربط جهاز واشداتا هذا على نحو اختياري بجهاز قائم Home Assistant (على سبيل المثال، البقعة الذكية أو التبعية نفسها). جهاز (واشداتا) يظهر بعد ذلك على أنه \"متواصل عبر\" ذلك الجهاز إتركْ فارغاً لإبْقاء واشداتا كa جهاز مستقل.",
"data": {
"linked_device": "الأجهزة المترابطة"
},
"data_description": {
"linked_device": "(اختار الجهاز لربط (واشادا هذا يضيف إشارة \"متواصلة\" في سجل الأجهزة، ويشتداتا تحتفظ ببطاقة جهازها الخاص وكياناتها. نظفوا الإختيار لإزالة الرابط"
}
}
}
},
"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": "حدد دورة للتسمية",
"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": "![رسم بياني]({graph_url})\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": "الملف الشخصي للجزء الأول",
"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 آخر.",
"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": "![رسم بياني]({graph_url})\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": "فشل الاستيراد. يرجى لصق ملف WashData صالح لتصدير JSON.",
"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\nيحتاج WashData إلى مساعدتك للتحقق من هذه الدورة المكتشفة.\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": "تعذر إنشاء أي شرائح صالحة من هذه الطوابع الزمنية. تأكد من أن كل طابع زمني يقع داخل نافذة الدورة وأن طول الشرائح لا يقل عن دقيقة واحدة.",
"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": "حدد دورة واحدة للتقسيم، أو أكثر من دورتين للدمج.",
"editor_select_info_split": "حدد دورة واحدة لتقسيمها.",
"editor_select_info_merge": "حدد دورتين أو أكثر لدمجها.",
"editor_select_info_delete": "حدد دورة واحدة أو أكثر لحذفها.",
"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": "تطبيق تريم",
"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": "اسم ملف التعريف الموجود (قم بإنشاء ملفات التعريف في قائمة إدارة الملفات الشخصية). اتركه فارغًا لإزالة التسمية."
}
}
},
"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 (مستحسن بدلاً من إدخال_id)."
},
"entry_id": {
"name": "معرف الدخول",
"description": "معرف إدخال التكوين للجهاز (بديل لـ Device_id)."
},
"cycle_id": {
"name": "معرف الدورة",
"description": "معرف الدورة الموضح في إشعار/سجلات التعليقات."
},
"user_confirmed": {
"name": "تأكيد البرنامج المكتشف",
"description": "اضبط على \"صحيح\" إذا كان البرنامج المكتشف صحيحًا."
},
"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": "مطلوب معرف جهاز صالح."
},
"cycle_id_required": {
"message": "مطلوب معرف دورة صالح."
},
"profile_name_required": {
"message": "مطلوب ملف تعريف صالح."
},
"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."
}
}
}