Files
2026-07-17 10:12:15 -04:00

449 lines
16 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": "예상 소요 시간 (분)"
}
},
"reconfigure": {
"title": "Reconfigure WashData",
"description": "장치 이름, 기기 유형 또는 전원 센서를 업데이트합니다.",
"data": {
"name": "Device Name",
"device_type": "Device Type",
"power_sensor": "Power Sensor",
"min_power": "Minimum Power Threshold (W)"
}
}
},
"error": {
"cannot_connect": "연결하지 못했습니다",
"invalid_auth": "인증 실패",
"unknown": "예기치 않은 오류",
"invalid_power": "전력 임계값은 0보다 커야 합니다"
},
"abort": {
"already_configured": "장치가 이미 구성되어 있습니다",
"reconfigure_successful": "재구성이 성공했습니다"
}
},
"options": {
"step": {
"init": {
"title": "WashData Settings",
"description": "감지, 매칭, 타이밍, 알림, 프로필, 주기 등 모든 설정을 WashData 패널에서 사용할 수 있습니다. 전원 센서, 장치 유형 또는 대기 임계값을 변경하는 경우에만 이 양식을 사용하십시오.",
"data": {
"name": "장치 이름",
"device_type": "Device Type",
"power_sensor": "Power Sensor",
"min_power": "Minimum Power Threshold (W)"
}
}
},
"error": {
"timer_default_message": "{device}: {minutes}분 타이머",
"timer_pause_action_title": "사이클 재개",
"timer_pause_body_suffix": "사이클이 일시 정지되었습니다. 재개하려면 WashData 패널을 여세요.",
"notify_live_waiting_message": "{device}: 아직 일치하는 프로필이 없습니다.",
"vs_typical_longer": "평소보다 {pct}% 더 김",
"vs_typical_shorter": "평소보다 {pct}% 더 짧음",
"invalid_power": "전력 임계값은 0보다 커야 합니다"
}
},
"selector": {
"device_type": {
"options": {
"washing_machine": "세탁기",
"dryer": "건조기",
"washer_dryer": "세탁기-건조기 콤보",
"dishwasher": "식기세척기",
"air_fryer": "에어프라이어",
"bread_maker": "빵 제조기",
"pump": "펌프 / 배수 펌프",
"generic": "기타(고급)",
"other": "임계값 장치"
}
}
},
"services": {
"label_cycle": {
"name": "사이클 라벨 지정",
"description": "이전 사이클에 기존 프로필을 할당하거나 라벨을 제거합니다.",
"fields": {
"device_id": {
"name": "장치",
"description": "라벨을 지정할 WashData 장치입니다."
},
"cycle_id": {
"name": "사이클 ID",
"description": "라벨을 지정할 사이클의 ID입니다."
},
"profile_name": {
"name": "프로필 이름",
"description": "기존 프로필의 이름입니다(프로필 관리 메뉴에서 프로필 생성). 라벨을 제거하려면 비워두세요."
}
}
},
"create_profile": {
"name": "프로필 만들기",
"description": "새 프로필을 만듭니다(독립형 또는 참조 사이클 기반).",
"fields": {
"device_id": {
"name": "장치",
"description": "WashData 장치입니다."
},
"profile_name": {
"name": "프로필 이름",
"description": "새 프로필의 이름입니다(예: 'Heavy Duty', 'Delicates')."
},
"reference_cycle_id": {
"name": "참조 사이클 ID",
"description": "이 프로필의 기반이 될 선택적 사이클 ID입니다."
}
}
},
"delete_profile": {
"name": "프로필 삭제",
"description": "프로필을 삭제하고 선택적으로 이를 사용하는 사이클의 라벨을 해제합니다.",
"fields": {
"device_id": {
"name": "장치",
"description": "WashData 장치입니다."
},
"profile_name": {
"name": "프로필 이름",
"description": "삭제할 프로필입니다."
},
"unlabel_cycles": {
"name": "사이클 라벨 해제",
"description": "이 프로필을 사용하는 사이클에서 프로필 라벨을 제거합니다."
}
}
},
"auto_label_cycles": {
"name": "기존 사이클 자동 라벨 지정",
"description": "프로필 일치를 사용하여 라벨 없는 사이클에 소급하여 라벨을 지정합니다.",
"fields": {
"device_id": {
"name": "장치",
"description": "WashData 장치입니다."
},
"confidence_threshold": {
"name": "신뢰도 임계값",
"description": "라벨을 적용하기 위한 최소 일치 신뢰도(0.50-0.95)입니다."
}
}
},
"export_config": {
"name": "구성 내보내기",
"description": "이 장치의 프로필, 사이클 및 설정을 JSON 파일로 내보냅니다(장치별).",
"fields": {
"device_id": {
"name": "장치",
"description": "내보낼 WashData 장치입니다."
},
"path": {
"name": "경로",
"description": "쓸 선택적 절대 파일 경로입니다(기본값: /config/ha_washdata_export_{entry}.json)."
}
}
},
"import_config": {
"name": "구성 가져오기",
"description": "JSON 내보내기 파일에서 이 장치의 프로필, 사이클 및 설정을 가져옵니다(설정이 덮어써질 수 있음).",
"fields": {
"device_id": {
"name": "장치",
"description": "가져올 WashData 장치입니다."
},
"path": {
"name": "경로",
"description": "가져올 내보내기 JSON 파일의 절대 경로입니다."
}
}
},
"submit_cycle_feedback": {
"name": "사이클 피드백 제출",
"description": "사이클이 완료된 후 자동 감지된 프로그램을 확인하거나 수정합니다. `entry_id`(고급) 또는 `device_id`(권장)를 제공하세요.",
"fields": {
"device_id": {
"name": "장치",
"description": "WashData 장치입니다(entry_id 대신 권장)."
},
"entry_id": {
"name": "항목 ID",
"description": "장치의 구성 항목 ID입니다(device_id의 대안)."
},
"cycle_id": {
"name": "사이클 ID",
"description": "피드백 알림/로그에 표시된 사이클 ID입니다."
},
"user_confirmed": {
"name": "감지된 프로그램 확인",
"description": "감지된 프로그램이 맞으면 true로 설정하세요."
},
"corrected_profile": {
"name": "수정된 프로필",
"description": "확인되지 않은 경우 올바른 프로필/프로그램 이름을 제공하세요."
},
"corrected_duration": {
"name": "수정된 기간 (초)",
"description": "선택적 수정 기간(초)입니다."
},
"notes": {
"name": "메모",
"description": "이 사이클에 대한 선택적 메모입니다."
}
}
},
"record_start": {
"name": "사이클 기록 시작",
"description": "클린 사이클을 수동으로 기록하기 시작합니다(모든 일치 로직을 우회합니다).",
"fields": {
"device_id": {
"name": "장치",
"description": "기록할 WashData 장치입니다."
}
}
},
"record_stop": {
"name": "사이클 기록 중지",
"description": "수동 기록을 중지합니다.",
"fields": {
"device_id": {
"name": "장치",
"description": "기록을 중지할 WashData 장치입니다."
}
}
},
"trim_cycle": {
"name": "사이클 트림",
"description": "이전 사이클의 전력 데이터를 특정 시간 창으로 트림합니다.",
"fields": {
"device_id": {
"name": "장치",
"description": "WashData 장치입니다."
},
"cycle_id": {
"name": "사이클 ID",
"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 장치입니다."
}
}
},
"trigger_ml_training": {
"name": "Trigger ML Training",
"description": "이 기기의 자체 라벨이 지정된 주기에서 기기 내 ML 모델을 수동으로 재교육합니다(실험용).",
"fields": {
"device_id": {
"name": "Device",
"description": "The WashData device to retrain models for."
}
}
}
},
"entity": {
"binary_sensor": {
"running": {
"name": "실행 중"
},
"match_ambiguity": {
"name": "일치 모호도"
}
},
"sensor": {
"washer_state": {
"name": "상태",
"state": {
"off": "꺼짐",
"idle": "대기 중",
"starting": "시작 중",
"running": "실행 중",
"paused": "일시 정지됨",
"user_paused": "사용자가 일시 정지함",
"ending": "종료 중",
"finished": "완료됨",
"anti_wrinkle": "주름 방지",
"interrupted": "중단됨",
"force_stopped": "강제 정지됨",
"rinse": "헹굼",
"unknown": "알 수 없음",
"clean": "깨끗한",
"delay_wait": "시작을 기다리는 중"
}
},
"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": "없음"
}
},
"ambiguity": {
"name": "모호도 점수"
},
"current_phase": {
"name": "현재 단계"
},
"profile_cycle_count": {
"name": "프로필 {profile_name} 횟수",
"unit_of_measurement": "사이클"
},
"suggestions": {
"name": "이용 가능한 제안 설정"
},
"pump_runs_today": {
"name": "펌프 작동(지난 24시간)"
},
"cycle_count": {
"name": "사이클 수"
},
"energy_total": {
"name": "총 에너지"
}
},
"select": {
"program_select": {
"name": "사이클 프로그램",
"state": {
"auto_detect": "자동 감지"
}
}
},
"button": {
"force_end_cycle": {
"name": "사이클 강제 종료"
},
"pause_cycle": {
"name": "사이클 일시 정지"
},
"resume_cycle": {
"name": "사이클 재개"
},
"record_start": {
"name": "사이클 기록 시작"
},
"record_stop": {
"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보다 커야 합니다."
},
"no_active_cycle": {
"message": "일시 중지하거나 재개할 활성 주기가 없습니다."
},
"path_not_allowed": {
"message": "경로가 허용되지 않습니다: {path}. configuration.yaml의 'allowlist_external_dirs'에 해당 디렉터리를 추가하세요."
},
"create_profile_failed": {
"message": "프로필을 만들 수 없습니다: {error}"
},
"export_path_exists": {
"message": "내보내기 대상이 이미 존재합니다: {path}. 다른 경로를 선택하거나 기존 파일을 먼저 제거하세요."
},
"export_write_failed": {
"message": "내보내기를 {path}에 쓸 수 없습니다: {error}"
},
"assign_profile_failed": {
"message": "프로필을 할당할 수 없습니다: {error}"
}
}
}