1342 lines
86 KiB
JSON
1342 lines
86 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": "**サイクル**とは、家電製品の1回の完全な動作です(例:洗濯1回分)。**プロファイル**は、これらのサイクルをタイプ別にグループ化します(例:「綿」、「おいそぎ」)。今プロファイルを作成すると、インテグレーションが直ちに所要時間を推定できるようになります。\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": "現在の推奨値を保存済み設定にコピーします。これは1回限りの操作で、自動上書きは有効になりません。\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}。\n0より大きい場合は、詳細設定を開いて「推奨値を適用」で提案内容を確認してください。",
|
||
"data": {
|
||
"apply_suggestions": "推奨値を適用",
|
||
"device_type": "デバイスの種類",
|
||
"power_sensor": "電力センサーエンティティ",
|
||
"min_power": "最小電力 (W)",
|
||
"off_delay": "サイクル終了遅延 (秒)",
|
||
"notify_actions": "通知アクション",
|
||
"notify_people": "指定した人が帰宅するまで配信を遅延",
|
||
"notify_only_when_home": "選択した人が帰宅するまで通知を遅延",
|
||
"notify_fire_events": "オートメーションイベントを発火",
|
||
"notify_start_services": "サイクル開始 - 通知ターゲット",
|
||
"notify_finish_services": "サイクル終了 - 通知ターゲット",
|
||
"notify_live_services": "ライブ進行状況 - 通知ターゲット",
|
||
"notify_before_end_minutes": "完了前通知(終了前の分数)",
|
||
"notify_title": "通知タイトル",
|
||
"notify_icon": "通知アイコン",
|
||
"notify_start_message": "開始メッセージの形式",
|
||
"notify_finish_message": "終了メッセージの形式",
|
||
"notify_pre_complete_message": "完了前メッセージの形式",
|
||
"show_advanced": "詳細設定を編集(次のステップ)"
|
||
},
|
||
"data_description": {
|
||
"apply_suggestions": "このボックスにチェックを入れると、学習アルゴリズムの推奨値がフォームにコピーされます。保存前に確認してください。\n\n推奨値(学習より):\n- min_power: {suggested_min_power} W\n- off_delay: {suggested_off_delay} s\n- watchdog_interval: {suggested_watchdog_interval} s\n- no_update_active_timeout: {suggested_no_update_active_timeout} s\n- profile_match_interval: {suggested_profile_match_interval} s\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} W\n- stop_threshold_w: {suggested_stop_threshold_w} W\n- end_energy_threshold: {suggested_end_energy_threshold} Wh\n- running_dead_zone: {suggested_running_dead_zone} s\n{suggested_reason}",
|
||
"device_type": "家電製品の種類を選択します(洗濯機、乾燥機、食器洗い機、コーヒーメーカー、EV)。このタグはサイクルとともに保存され、整理に役立ちます。",
|
||
"power_sensor": "リアルタイムの電力(ワット)を報告するセンサーエンティティ。スマートプラグを交換しても履歴データを失わずにいつでも変更できます。",
|
||
"min_power": "このしきい値(ワット)を超える電力値は、家電製品が動作中であることを示します。ほとんどのデバイスでは 2W から始めてください。",
|
||
"off_delay": "サイクル完了とみなすには、平滑化された電力がこの秒数の間、停止しきい値を下回り続ける必要があります。デフォルト:120秒。",
|
||
"notify_actions": "通知用のオプションの Home Assistant アクションシーケンス(スクリプト、通知、TTSなど)。設定した場合、フォールバック通知サービスより先に実行されます。",
|
||
"notify_people": "在宅確認に使用するユーザーエンティティ。有効にすると、選択した人が少なくとも1人帰宅するまで通知の配信が遅延されます。",
|
||
"notify_only_when_home": "有効にすると、選択した人が少なくとも1人帰宅するまで通知が遅延されます。",
|
||
"notify_fire_events": "有効にすると、サイクル開始・終了時に Home Assistant イベント(ha_washdata_cycle_started、ha_washdata_cycle_ended)が発火し、オートメーションを駆動できます。",
|
||
"notify_start_services": "サイクルの開始時に警告する 1 つ以上の通知サービス。開始通知をスキップするには、空のままにします。",
|
||
"notify_finish_services": "サイクルが終了するか完了に近づくと警告を発する 1 つ以上の通知サービス。終了通知をスキップするには、空のままにします。",
|
||
"notify_live_services": "サイクルの実行中にライブ進行状況の更新を受信する 1 つ以上の通知サービス (モバイル コンパニオン アプリのみ)。ライブ更新をスキップするには、空のままにします。",
|
||
"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": "在宅確認に使用するユーザーエンティティ。有効にすると、選択した人が少なくとも1人帰宅するまで通知の配信が遅延されます。",
|
||
"notify_only_when_home": "有効にすると、選択した人が少なくとも1人帰宅するまで通知が遅延されます。",
|
||
"notify_fire_events": "有効にすると、サイクル開始・終了時に Home Assistant イベント(ha_washdata_cycle_started、ha_washdata_cycle_ended)が発火し、オートメーションを駆動できます。",
|
||
"notify_start_services": "サイクルの開始時に警告する 1 つ以上の通知サービス (例: notify.mobile_app_my_phone)。開始通知をスキップするには、空のままにします。",
|
||
"notify_finish_services": "サイクルが終了するか完了に近づくと警告を発する 1 つ以上の通知サービス。終了通知をスキップするには、空のままにします。",
|
||
"notify_live_services": "サイクルの実行中にライブ進行状況の更新を受信する 1 つ以上の通知サービス (モバイル コンパニオン アプリのみ)。ライブ更新をスキップするには、空のままにします。",
|
||
"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": "kWhあたりの固定電力料金。設定すると、{cost} プレースホルダーが有効になります。エンティティが上記で構成されている場合は無視されます。メッセージ テンプレートに通貨記号を追加します。 {cost} ユーロ。",
|
||
"notify_reminder_message": "1 回限りのリマインダーのテキストは、終了予定時刻の設定された分数前に送信されます。上記の定期的なライブ アップデートとは異なります。 {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": "デバイスを ON または OFF とみなす条件、エネルギーゲート、および状態遷移のタイミングを設定します。",
|
||
"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": "この時間(秒)より短い電力スパイクを無視します。実際のサイクル開始前の起動スパイク(例:2秒間60W)をフィルタリングします。デフォルト: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": "最後のオフ遅延ウィンドウのエネルギーがこの値(Wh)を下回る場合のみサイクルが終了します。電力がゼロ付近で変動する場合の誤終了を防ぎます。デフォルト:0.05 Wh。",
|
||
"running_dead_zone": "サイクル開始後、初期スピンアップ中の誤終了検知を防ぐため、この秒数の間は電力降下を無視します。0に設定すると無効になります。デフォルト:0秒。",
|
||
"end_repeat_count": "サイクルを終了する前に終了条件(off_delay の間しきい値を下回る電力)が連続して満たされる必要がある回数。高い値は一時停止中の誤終了を防ぎます。デフォルト:1。",
|
||
"min_off_gap": "前のサイクル終了からこの秒数以内に新しいサイクルが開始した場合、2つのサイクルは1つに統合されます。",
|
||
"sampling_interval": "最小サンプリング間隔 (秒単位)。この速度よりも速い更新は無視されます。デフォルト: 30 秒 (洗濯機、洗濯乾燥機、食器洗い機の場合は 2 秒)。"
|
||
}
|
||
},
|
||
"matching_section": {
|
||
"name": "プロファイル照合と学習",
|
||
"description": "WashData が実行中のサイクルを学習済みプロファイルとどの程度積極的に照合するか、またいつフィードバックを求めるかを設定します。",
|
||
"data": {
|
||
"profile_match_min_duration_ratio": "プロファイル照合 最小所要時間比率 (0.1-1.0)",
|
||
"profile_match_interval": "プロファイル照合間隔 (秒)",
|
||
"profile_match_threshold": "プロファイル照合しきい値",
|
||
"profile_unmatch_threshold": "プロファイル不一致しきい値",
|
||
"auto_label_confidence": "自動ラベル付け信頼度 (0-1)",
|
||
"learning_confidence": "フィードバック要求信頼度 (0-1)",
|
||
"suppress_feedback_notifications": "フィードバック通知を抑制する",
|
||
"duration_tolerance": "所要時間許容誤差 (0-0.5)",
|
||
"smoothing_window": "平滑化ウィンドウ(サンプル数)",
|
||
"profile_duration_tolerance": "プロファイル照合 所要時間許容誤差 (0-0.5)"
|
||
},
|
||
"data_description": {
|
||
"profile_match_min_duration_ratio": "プロファイル照合の最小所要時間比率。実行中のサイクルがプロファイル所要時間のこの割合以上に達している必要があります。低いほど早期照合になります。デフォルト:0.50(50%)。",
|
||
"profile_match_interval": "サイクル中にプロファイル照合を試みる頻度(秒)。値が小さいほど検出は速くなりますが CPU 使用量が増えます。デフォルト:300秒(5分)。",
|
||
"profile_match_threshold": "プロファイルが一致とみなされるために必要な最小 DTW 類似スコア(0.0〜1.0)。高いほど厳密な照合、誤検知が少なくなります。デフォルト:0.4。",
|
||
"profile_unmatch_threshold": "以前に一致したプロファイルが棄却される DTW 類似スコア(0.0〜1.0)。フリッカーを防ぐため、照合しきい値より低く設定してください。デフォルト:0.35。",
|
||
"auto_label_confidence": "完了時にこの信頼度以上のサイクルを自動的にラベル付けします(0.0〜1.0)。",
|
||
"learning_confidence": "イベントによるユーザー検証を要求する最小信頼度(0.0〜1.0)。",
|
||
"suppress_feedback_notifications": "有効にすると、WashData は内部的にフィードバックを追跡して要求しますが、サイクルの確認を求める永続的な通知は表示されません。サイクルが常に正しく検出され、プロンプトが煩わしい場合に便利です。",
|
||
"duration_tolerance": "動作中の残り時間の推定許容誤差(0.0〜0.5 は 0〜50% に対応)。",
|
||
"smoothing_window": "移動平均平滑化に使用する直近の電力測定値の数。",
|
||
"profile_duration_tolerance": "プロファイル照合が使用する総所要時間の分散許容誤差(0.0〜0.5)。デフォルト動作:±25%。"
|
||
}
|
||
},
|
||
"timing_section": {
|
||
"name": "タイミング、メンテナンス、デバッグ",
|
||
"description": "ウォッチドッグ、進捗リセット、自動メンテナンス、デバッグエンティティの表示を設定します。",
|
||
"data": {
|
||
"watchdog_interval": "ウォッチドッグ間隔 (秒)",
|
||
"no_update_active_timeout": "無更新タイムアウト (秒)",
|
||
"progress_reset_delay": "進捗リセット遅延 (秒)",
|
||
"auto_maintenance": "自動メンテナンスを有効化",
|
||
"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": "デバッグ用の詳細センサー(信頼度、フェーズ、曖昧さ)を表示します。",
|
||
"save_debug_traces": "詳細なランキングと電力トレースデータを履歴に保存します(ストレージ使用量が増加します)。"
|
||
}
|
||
},
|
||
"anti_wrinkle_section": {
|
||
"name": "しわ防止シールド(乾燥機)",
|
||
"description": "ゴーストサイクルを防ぐため、サイクル終了後のドラム回転を無視します。乾燥機 / 洗濯乾燥機のみ。",
|
||
"data": {
|
||
"anti_wrinkle_enabled": "しわ防止シールド(乾燥機/洗濯乾燥機のみ)",
|
||
"anti_wrinkle_max_power": "しわ防止最大電力 (W)(乾燥機/洗濯乾燥機のみ)",
|
||
"anti_wrinkle_max_duration": "しわ防止最大時間 (秒)(乾燥機/洗濯乾燥機のみ)",
|
||
"anti_wrinkle_exit_power": "しわ防止終了電力 (W)(乾燥機/洗濯乾燥機のみ)"
|
||
},
|
||
"data_description": {
|
||
"anti_wrinkle_enabled": "サイクル終了後の短い低電力ドラム回転を無視して、ゴーストサイクルを防止します(乾燥機/洗濯乾燥機のみ)。",
|
||
"anti_wrinkle_max_power": "この電力以下のバーストはしわ防止回転として処理され、新しいサイクルとはみなされません。しわ防止シールドが有効な場合のみ適用されます。",
|
||
"anti_wrinkle_max_duration": "しわ防止回転として処理されるバーストの最大時間。しわ防止シールドが有効な場合のみ適用されます。",
|
||
"anti_wrinkle_exit_power": "電力がこのレベルを下回ると、直ちにしわ防止モードを終了します(真のオフ)。しわ防止シールドが有効な場合のみ適用されます。"
|
||
}
|
||
},
|
||
"delay_start_section": {
|
||
"name": "遅延開始検出",
|
||
"description": "サイクルが実際に始まるまで、継続的な低電力スタンバイを「開始を待っています」として扱います。",
|
||
"data": {
|
||
"delay_start_detect_enabled": "遅延開始検出を有効にする",
|
||
"delay_confirm_seconds": "遅延開始: スタンバイ確認時間(秒)",
|
||
"delay_timeout_hours": "遅延開始: 最大待機時間 (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": "トリガーロジックを反転(OFF でトリガー)",
|
||
"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": "デフォルトでは、センサーがONになるとトリガーが発動します。このボックスにチェックを入れると、センサーがOFFになったときにトリガーされます。",
|
||
"door_sensor_entity": "機械ドア用のオプションのバイナリ センサー (オン = 開いている、オフ = 閉じている)。アクティブなサイクル中にドアが開くと、WashData はサイクルが意図的に一時停止されたことを確認します。サイクル終了後、ドアがまだ閉じている場合、ドアが開くまで状態は「Clean」に変わります。注: ドアを閉めても、一時停止したサイクルは自動的に再開されません。再開は、「サイクル再開」ボタンまたはサービスを介して手動でトリガーする必要があります。",
|
||
"pause_cuts_power": "[Pause Cycle] ボタンまたはサービスを使用して一時停止する場合は、設定されたスイッチ エンティティもオフにします。スイッチ エンティティがこのデバイスに設定されている場合にのみ有効です。",
|
||
"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 イベントが 1 回発生します。これを使用してモーターの詰まりを検出します (通常、排水ポンプの動作は 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": "現在の下書きにフェーズ範囲を1つ追加します。",
|
||
"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": "\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\n1つ以上の分割タイムスタンプ(`HH:MM` または `HH:MM:SS`)を1行に1つずつ入力してください。サイクルは各タイムスタンプで分割されます — 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 をコピーします(サイクル、プロファイル、すべての調整済み設定を含む)。インポートの場合:WashData からエクスポートした JSON を貼り付けます。"
|
||
}
|
||
},
|
||
"record_cycle": {
|
||
"title": "サイクルを記録",
|
||
"description": "干渉なしでクリーンなプロファイルを作成するため、サイクルを手動で記録します。\n\n状態:**{status}**\n経過時間:{duration}秒\nサンプル数:{samples}",
|
||
"menu_options": {
|
||
"record_refresh": "状態を更新",
|
||
"record_stop": "記録を停止(保存して処理)",
|
||
"record_start": "新しい記録を開始",
|
||
"record_process": "最後の記録を処理(トリミングして保存)",
|
||
"record_discard": "最後の記録を破棄",
|
||
"menu_back": "← 戻る"
|
||
}
|
||
},
|
||
"record_process": {
|
||
"title": "記録を処理",
|
||
"description": "\n\n**グラフは生の記録を表示します。** 青 = 保持、赤 = トリミング候補。\n*グラフは静的で、フォームの変更では更新されません。*\n\n記録が停止しました。トリミングは検出されたサンプリングレート(〜{sampling_rate}秒)に合わせられます。\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": "この操作にはちょうど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} 分)",
|
||
"profile_option_short_fmt": "{name}({count} サイクル、〜{duration} 分)",
|
||
"deleted_cycles_from_profile": "{profile} から {count} 件のサイクルを削除しました。",
|
||
"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": "ラベルを付ける 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": "新しいプロファイルの名前(例:「強力洗浄」、「デリケート」)。"
|
||
},
|
||
"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 デバイス。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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 より大きい必要があります。"
|
||
}
|
||
}
|
||
}
|