1342 lines
130 KiB
JSON
1342 lines
130 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": "ความล่าช้าในการสิ้นสุดรอบ (s)",
|
||
"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: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 ที่เป็นตัวเลือกสำหรับการแจ้งเตือน (สคริปต์ การแจ้งเตือน 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": "เมื่อเปิดใช้งาน การอัปเดตแบบเรียลไทม์แต่ละครั้งจะมีการนับถอยหลังโครโนมิเตอร์จนถึงเวลาสิ้นสุดโดยประมาณ ตัวจับเวลาการแจ้งเตือนจะทำเครื่องหมายบนอุปกรณ์โดยอัตโนมัติระหว่างการอัปเดต (เฉพาะแอปที่ใช้ร่วมกับ 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": "ข้อความเตือนความจำแบบครั้งเดียวส่งตามจำนวนนาทีที่กำหนดไว้ก่อนสิ้นสุดโดยประมาณ แตกต่างจากการอัปเดตสดที่เกิดซ้ำด้านบน รองรับตัวยึดตำแหน่ง {device}, {minutes}, {program}",
|
||
"notify_timeout_seconds": "ปิดการแจ้งเตือนโดยอัตโนมัติหลังจากผ่านไปหลายวินาทีนี้ (ส่งต่อเป็นแอปที่แสดงร่วม 'หมดเวลา') ตั้งค่าเป็น 0 เพื่อเก็บไว้จนกว่าจะถูกไล่ออก ค่าเริ่มต้น: 0",
|
||
"notify_channel": "Android ช่องทางการแจ้งเตือนแอปที่แสดงร่วมสำหรับสถานะ ความคืบหน้าสด และการแจ้งเตือน เสียงและความสำคัญของช่องได้รับการกำหนดค่าในแอปที่แสดงร่วมกันในครั้งแรกที่ใช้ชื่อช่อง - WashData จะตั้งค่าเฉพาะชื่อช่องเท่านั้น เว้นว่างไว้สำหรับค่าเริ่มต้นของแอป",
|
||
"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": "เริ่มระยะเวลา Debounce (s)",
|
||
"start_energy_threshold": "เริ่ม Energy Gate (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": "ช่องว่างขั้นต่ำระหว่างรอบ (s)",
|
||
"sampling_interval": "ช่วงเวลาการสุ่มตัวอย่าง (s)"
|
||
},
|
||
"data_description": {
|
||
"start_duration_threshold": "เพิกเฉยต่อการเพิ่มพลังสั้นๆ ที่สั้นกว่าระยะเวลานี้ (วินาที) กรองการเพิ่มขึ้นอย่างรวดเร็วของบูต (เช่น 60W เป็นเวลา 2 วินาที) ก่อนเริ่มรอบจริง ค่าเริ่มต้น: 5 วินาที",
|
||
"start_energy_threshold": "วงจรจะต้องสะสมพลังงาน (Wh) มากเท่านี้เป็นอย่างน้อยในระหว่างระยะเริ่มต้นจึงจะได้รับการยืนยัน ค่าเริ่มต้น: 0.005 Wh.",
|
||
"completion_min_seconds": "รอบที่สั้นกว่านี้จะถูกทำเครื่องหมายว่า 'หยุดชะงัก' แม้ว่าจะเสร็จสิ้นตามธรรมชาติก็ตาม ค่าเริ่มต้น: 600 วินาที",
|
||
"start_threshold_w": "กำลังไฟฟ้าต้องสูงกว่าเกณฑ์นี้จึงจะเริ่มต้นวงจรได้ ตั้งค่าให้สูงกว่าพลังงานสแตนด์บายของคุณ ค่าเริ่มต้น: min_power + 1 W.",
|
||
"stop_threshold_w": "กำลังไฟฟ้าต้องต่ำกว่าเกณฑ์นี้จึงจะสิ้นสุดรอบได้ ตั้งค่าให้สูงกว่าศูนย์เพื่อหลีกเลี่ยงสัญญาณรบกวนที่ทำให้เกิดการสิ้นสุดที่ผิดพลาด ค่าเริ่มต้น: 0.6 * min_power",
|
||
"end_energy_threshold": "รอบการสิ้นสุดจะสิ้นสุดก็ต่อเมื่อพลังงานในหน้าต่าง Off-Delay สุดท้ายต่ำกว่าค่านี้ (Wh) ป้องกันการสิ้นสุดที่ผิดพลาดหากพลังงานผันผวนใกล้ศูนย์ ค่าเริ่มต้น: 0.05 Wh.",
|
||
"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": "Watchdog การรีเซ็ตความคืบหน้า การบำรุงรักษาอัตโนมัติ และการแสดงเอนทิตีดีบัก",
|
||
"data": {
|
||
"watchdog_interval": "ช่วงเวลา Watchdog (วินาที)",
|
||
"no_update_active_timeout": "ไม่มีการอัปเดตหมดเวลา (s)",
|
||
"progress_reset_delay": "ความล่าช้าในการรีเซ็ตความคืบหน้า (วินาที)",
|
||
"auto_maintenance": "เปิดใช้งานการบำรุงรักษาอัตโนมัติ",
|
||
"expose_debug_entities": "เปิดเผยเอนทิตีการตรวจแก้จุดบกพร่อง",
|
||
"save_debug_traces": "บันทึกการติดตามการแก้ไขข้อบกพร่อง"
|
||
},
|
||
"data_description": {
|
||
"watchdog_interval": "วินาทีระหว่างการตรวจสอบสุนัขเฝ้าบ้านขณะวิ่ง ค่าเริ่มต้น: 5 วินาที คำเตือน: ตรวจสอบให้แน่ใจว่านี่สูงกว่าช่วงการอัปเดตเซ็นเซอร์ของคุณเพื่อหลีกเลี่ยงการหยุดที่ผิดพลาด (เช่น หากเซ็นเซอร์อัปเดตทุกๆ 60 วินาที ให้ใช้ 65 วินาทีขึ้นไป)",
|
||
"no_update_active_timeout": "สำหรับเซ็นเซอร์เผยแพร่เมื่อมีการเปลี่ยนแปลง: บังคับสิ้นสุดรอบการทำงานเท่านั้น หากไม่มีการอัปเดตมาถึงเป็นเวลาหลายวินาทีนี้ การทำเสร็จด้วยพลังงานต่ำยังคงใช้การหน่วงเวลาปิด",
|
||
"progress_reset_delay": "หลังจากรอบเสร็จสมบูรณ์ (100%) ให้รอสักครู่ก่อนที่จะรีเซ็ตความคืบหน้าเป็น 0% ค่าเริ่มต้น: 300 วินาที",
|
||
"auto_maintenance": "เปิดใช้งานการบำรุงรักษาอัตโนมัติ (ตัวอย่างการซ่อมแซม รวมชิ้นส่วน)",
|
||
"expose_debug_entities": "แสดงเซ็นเซอร์ขั้นสูง (Confidence, Phase, Ambiguity) สำหรับการดีบัก",
|
||
"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 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": "การเริ่มต้นล่าช้า: เวลารอสูงสุด (h)"
|
||
},
|
||
"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": "เกณฑ์การแจ้งเตือนปั๊มติด (s) (เฉพาะปั๊ม)"
|
||
},
|
||
"data_description": {
|
||
"pump_stuck_duration": "หากรอบปั๊มยังคงทำงานอยู่หลังจากผ่านไปหลายวินาทีนี้ เหตุการณ์ ha_washdata_pump_stuck จะทำงานหนึ่งครั้ง ใช้สิ่งนี้เพื่อตรวจจับมอเตอร์ที่ติดขัด (การทำงานของปั๊มบ่อโดยทั่วไปคือต่ำกว่า 60 วินาที) ค่าเริ่มต้น: 1800 วินาที (30 นาที) ประเภทอุปกรณ์ปั๊มเท่านั้น"
|
||
}
|
||
},
|
||
"device_link_section": {
|
||
"name": "ลิงค์อุปกรณ์",
|
||
"description": "คุณสามารถเลือกเชื่อมโยงอุปกรณ์ WashData นี้กับอุปกรณ์ Home Assistant ที่มีอยู่ (เช่น ปลั๊กอัจฉริยะหรือตัวอุปกรณ์เอง) จากนั้นอุปกรณ์ WashData จะแสดงเป็น \"เชื่อมต่อผ่าน\" อุปกรณ์นั้น เว้นว่างไว้เพื่อให้ WashData เป็นอุปกรณ์แบบสแตนด์อโลน",
|
||
"data": {
|
||
"linked_device": "อุปกรณ์ที่เชื่อมโยง"
|
||
},
|
||
"data_description": {
|
||
"linked_device": "เลือกอุปกรณ์ที่จะเชื่อมต่อ WashData สิ่งนี้จะเพิ่มการอ้างอิง 'เชื่อมต่อผ่าน' ในรีจิสทรีอุปกรณ์ WashData จะเก็บการ์ดอุปกรณ์และเอนทิตีของตัวเอง ล้างการเลือกเพื่อลบลิงก์"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"diagnostics": {
|
||
"title": "การวินิจฉัยและการบำรุงรักษา",
|
||
"description": "ดำเนินการบำรุงรักษา เช่น การรวมวงจรที่กระจัดกระจายหรือการย้ายข้อมูลที่เก็บไว้\n\n**การใช้พื้นที่เก็บข้อมูล**\n\n- ขนาดไฟล์: {file_size_kb} 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ตัวอย่างชื่อโปรไฟล์: 'ผ้าฝ้าย 40°C', 'Eco', 'Quick Wash', 'ผ้าฝ้าย + ซักแห้งตู้'\n\n**สิ่งที่เครื่องจับคู่ใช้:** รูปแบบการใช้พลังงาน ระยะเวลารวมของวงจร และพลังงานทั้งหมด มันไม่ได้อ่านการตั้งค่าอุณหภูมิหรือการหมุนโดยตรง\n\n**โปรไฟล์ที่จะตรวจจับอัตโนมัติได้อย่างน่าเชื่อถือ:** โปรแกรมที่มีระยะเวลาหรือรูปแบบพลังงานที่แตกต่างกันอย่างชัดเจน - เช่น การซักด่วน 20 นาที เทียบกับ รอบผ้าฝ้าย 3 ชั่วโมง หรือรอบการซักอย่างเดียว เทียบกับการซัก+ซักแห้งแบบผสม (ซึ่งโดยทั่วไปจะใช้เวลานานกว่า 2-3×)\n\n**โปรไฟล์ที่อาจจำเป็นต้องเลือกด้วยตนเอง:** ตัวแปรของโปรแกรมเดียวกันที่แตกต่างกันเฉพาะอุณหภูมิหรือความเร็วในการปั่น (เช่น คอตตอน 40°C กับคอตตอน 60°C) มักจะให้พลังงานรูปร่างคล้ายกัน ระบบจะยังคงพยายามแยกแยะความแตกต่างและเรียนรู้จากการแก้ไขของคุณเมื่อเวลาผ่านไป แต่คาดว่าจะยืนยันการจับคู่ด้วยตนเองในตอนแรก\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": "\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 อื่น",
|
||
"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**กราฟแสดงการบันทึกแบบ Raw** สีฟ้า = เก็บ สีแดง = เสนอการตัดทอน\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": "เลือกให้ครบ 1 รอบสำหรับการดำเนินการนี้",
|
||
"select_at_least_one": "เลือกอย่างน้อย 1 รอบสำหรับการดำเนินการนี้",
|
||
"select_at_least_two": "เลือกอย่างน้อย 2 รอบสำหรับการดำเนินการนี้",
|
||
"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} ตรวจพบวงจรโกสต์ การเปลี่ยนแปลง min_power ที่แนะนำ: {current_min}W -> {new_min}W (ไม่ได้ใช้โดยอัตโนมัติ)",
|
||
"auto_tune_title": "WashData ปรับอัตโนมัติ",
|
||
"auto_tune_fallback": "{device_type} {device_title} ตรวจพบวงจรโกสต์ การเปลี่ยนแปลง min_power ที่แนะนำ: {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}m เฉลี่ย)",
|
||
"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": "เครื่องซักผ้า-เครื่องอบผ้า Combo",
|
||
"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": "ID ของรอบที่จะติดป้ายกำกับ"
|
||
},
|
||
"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 (แนะนำแทน entry_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": "ID ของวงรอบที่จะตัดแต่ง"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|