)。"
+ },
+ "labelmap_path": {
+ "label": "カスタム検出器のラベルマップ",
+ "description": "検出器で数値クラスを文字列ラベルに対応付けるラベルマップファイルのパス。"
+ },
+ "width": {
+ "label": "物体検知モデル入力幅",
+ "description": "モデル入力テンソルの幅(ピクセル)。"
+ },
+ "height": {
+ "label": "物体検知モデル入力高さ",
+ "description": "モデル入力テンソルの高さ(ピクセル)。"
+ },
+ "labelmap": {
+ "label": "ラベルマップカスタマイズ",
+ "description": "標準ラベルマップに統合する上書きや再マッピングのエントリ。"
+ },
+ "attributes_map": {
+ "label": "オブジェクトラベル→属性ラベルのマップ",
+ "description": "メタデータを付与するためのオブジェクトラベル→属性ラベルのマッピング(例: 'car' -> ['license_plate'])。"
+ },
+ "input_tensor": {
+ "label": "モデル入力テンソル形状",
+ "description": "モデルが期待するテンソル形式: 'nhwc' または 'nchw'。"
+ },
+ "input_pixel_format": {
+ "label": "モデル入力ピクセルカラー形式",
+ "description": "モデルが期待するピクセルカラースペース: 'rgb'、'bgr'、または 'yuv'。"
+ },
+ "input_dtype": {
+ "label": "モデル入力データ型",
+ "description": "モデル入力テンソルのデータ型(例: 'float32')。"
+ },
+ "model_type": {
+ "label": "物体検知モデル種別",
+ "description": "一部の検出器が最適化に使用する検知モデルのアーキテクチャ種別(ssd, yolox, yolonas)。"
+ }
+ },
+ "genai": {
+ "label": "生成AI設定",
+ "description": "オブジェクトの説明やレビューサマリーを生成するために統合された生成 AI プロバイダの設定。",
+ "api_key": {
+ "label": "API キー",
+ "description": "一部のプロバイダで必要となる API キー(環境変数経由でも設定可能)。"
+ },
+ "base_url": {
+ "label": "ベース URL",
+ "description": "セルフホスト型または互換プロバイダ向けのベース URL(例: Ollama インスタンス)。"
+ },
+ "model": {
+ "label": "モデル",
+ "description": "説明やサマリーの生成にプロバイダから使用するモデル。"
+ },
+ "provider": {
+ "label": "プロバイダ",
+ "description": "使用する生成 AI プロバイダ(例: ollama、gemini、openai)。"
+ },
+ "roles": {
+ "label": "ロール",
+ "description": "GenAI のロール(chat、descriptions、embeddings)。1 ロールにつき 1 プロバイダ。"
+ },
+ "provider_options": {
+ "label": "プロバイダオプション",
+ "description": "GenAI クライアントに渡すプロバイダ固有の追加オプション。"
+ },
+ "runtime_options": {
+ "label": "ランタイムオプション",
+ "description": "推論呼び出しごとにプロバイダに渡されるランタイムオプション。"
+ }
+ },
+ "ffmpeg": {
+ "label": "FFmpeg",
+ "description": "FFmpeg の設定。バイナリパス、引数、ハードウェアアクセラレーション、ロール別の出力引数を含みます。",
+ "path": {
+ "label": "FFmpeg パス",
+ "description": "使用する FFmpeg バイナリのパス、またはバージョンエイリアス(「5.0」または「7.0」)。"
+ },
+ "global_args": {
+ "label": "FFmpeg グローバル引数",
+ "description": "FFmpeg プロセスに渡されるグローバル引数。"
+ },
+ "hwaccel_args": {
+ "label": "ハードウェアアクセラレーション引数",
+ "description": "FFmpeg のハードウェアアクセラレーション引数。プロバイダ固有のプリセットの使用を推奨。"
+ },
+ "input_args": {
+ "label": "入力引数",
+ "description": "FFmpeg の入力ストリームに適用される引数。"
+ },
+ "output_args": {
+ "label": "出力引数",
+ "description": "detect や record など、FFmpeg のロール別に使用されるデフォルト出力引数。",
+ "detect": {
+ "label": "検知ロールの出力引数",
+ "description": "detect ロールのストリームに使用されるデフォルト出力引数。"
+ },
+ "record": {
+ "label": "録画ロールの出力引数",
+ "description": "record ロールのストリームに使用されるデフォルト出力引数。"
+ }
+ },
+ "retry_interval": {
+ "label": "FFmpeg 再試行間隔",
+ "description": "カメラストリームの失敗後、再接続を試みるまでの待機秒数。デフォルトは 10 秒。"
+ },
+ "apple_compatibility": {
+ "label": "Apple 互換性",
+ "description": "H.265 録画時に Apple プレーヤーとの互換性向上のため HEVC タグ付けを有効化します。"
+ },
+ "gpu": {
+ "label": "GPU インデックス",
+ "description": "ハードウェアアクセラレーションで使用するデフォルト GPU インデックス。"
+ },
+ "inputs": {
+ "label": "カメラ入力",
+ "description": "このカメラの入力ストリーム定義(パスとロール)のリスト。",
+ "path": {
+ "label": "入力パス",
+ "description": "カメラ入力ストリームの URL またはパス。"
+ },
+ "roles": {
+ "label": "入力ロール",
+ "description": "この入力ストリームのロール。"
+ },
+ "global_args": {
+ "label": "FFmpeg グローバル引数",
+ "description": "この入力ストリームに対する FFmpeg グローバル引数。"
+ },
+ "hwaccel_args": {
+ "label": "ハードウェアアクセラレーション引数",
+ "description": "この入力ストリームのハードウェアアクセラレーション引数。"
+ },
+ "input_args": {
+ "label": "入力引数",
+ "description": "このストリーム固有の入力引数。"
+ }
+ }
+ },
+ "live": {
+ "label": "ライブ再生",
+ "description": "jsmpeg ライブストリームの解像度と品質を制御する設定。go2rtc を使用してリストリームしているカメラのライブビューには影響しません。",
+ "streams": {
+ "label": "ライブストリーム名",
+ "description": "設定済みのストリーム名と、ライブ再生で使用する restream/go2rtc 名のマッピング。"
+ },
+ "height": {
+ "label": "ライブの高さ",
+ "description": "Web UI で jsmpeg ライブストリームを描画する高さ (ピクセル)。検知ストリーム高さ以下である必要があります。"
+ },
+ "quality": {
+ "label": "ライブ品質",
+ "description": "jsmpeg ストリームのエンコード品質 (1 が最高、31 が最低)。"
+ }
+ },
+ "motion": {
+ "label": "モーション検知",
+ "description": "全カメラに適用されるモーション検知のデフォルト設定(カメラ別に上書き可能)。",
+ "enabled": {
+ "label": "モーション検知を有効化",
+ "description": "全カメラのモーション検知を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "threshold": {
+ "label": "モーションしきい値",
+ "description": "モーション検出器が使用するピクセル差分しきい値。値を大きくすると感度が下がります (範囲 1-255)。"
+ },
+ "lightning_threshold": {
+ "label": "雷検知しきい値",
+ "description": "短時間の照明スパイクを検知して無視するしきい値(値が小さいほど感度が高く、0.3 〜 1.0 が目安)。これはモーション検知を完全に止めるものではなく、しきい値超過後に検出器が追加フレームの解析を停止するだけです。モーションベースの録画はこれらのイベント中も作成されます。"
+ },
+ "skip_motion_threshold": {
+ "label": "モーションスキップしきい値",
+ "description": "0.0 〜 1.0 の値を指定し、1 フレームでそれ以上の割合が変化した場合、検出器はモーションボックスを返さず即座に再キャリブレーションします。雷や嵐などの誤検知を減らし CPU を節約できますが、PTZ カメラのオート追跡などの実イベントを取りこぼす可能性があります。数 MB の録画を捨てるか、数本の短いクリップを確認するかのトレードオフです。無効化するには未設定 (None) のままにします。"
+ },
+ "improve_contrast": {
+ "label": "コントラスト強調",
+ "description": "モーション解析前にフレームのコントラストを強調して検知を補助します。"
+ },
+ "contour_area": {
+ "label": "輪郭面積",
+ "description": "モーション輪郭としてカウントするために必要な最小ピクセル数。"
+ },
+ "delta_alpha": {
+ "label": "デルタアルファ",
+ "description": "モーション計算のフレーム差分で使用されるアルファブレンディング係数。"
+ },
+ "frame_alpha": {
+ "label": "フレームアルファ",
+ "description": "モーション前処理でフレームをブレンドする際に使用するアルファ値。"
+ },
+ "frame_height": {
+ "label": "フレーム高さ",
+ "description": "モーション計算時にフレームをスケーリングする高さ (ピクセル)。"
+ },
+ "mask": {
+ "label": "マスク座標",
+ "description": "領域を含める/除外するモーションマスクポリゴンを定義する x,y 座標の順序付きリスト。"
+ },
+ "mqtt_off_delay": {
+ "label": "MQTT オフ遅延",
+ "description": "最後のモーション検知後、MQTT で「off」状態を発行するまでの待機秒数。"
+ },
+ "enabled_in_config": {
+ "label": "元のモーション状態",
+ "description": "元の静的設定でモーション検知が有効化されていたかを示します。"
+ },
+ "raw_mask": {
+ "label": "Raw マスク"
+ }
+ },
+ "objects": {
+ "label": "オブジェクト",
+ "description": "追跡するラベルとオブジェクト別フィルタを含む、オブジェクト追跡のデフォルト設定。",
+ "track": {
+ "label": "追跡するオブジェクト",
+ "description": "全カメラで追跡するオブジェクトラベルのリスト(カメラ別に上書き可能)。"
+ },
+ "filters": {
+ "label": "オブジェクトフィルタ",
+ "description": "誤検知を減らすために検知オブジェクトに適用するフィルタ(面積、比率、信頼度)。",
+ "min_area": {
+ "label": "最小オブジェクト面積",
+ "description": "このオブジェクト種別に必要なバウンディングボックスの最小面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
+ },
+ "max_area": {
+ "label": "最大オブジェクト面積",
+ "description": "このオブジェクト種別に許容されるバウンディングボックスの最大面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
+ },
+ "min_ratio": {
+ "label": "最小アスペクト比",
+ "description": "対象となるバウンディングボックスに必要な最小の幅/高さ比。"
+ },
+ "max_ratio": {
+ "label": "最大アスペクト比",
+ "description": "対象となるバウンディングボックスに許容される最大の幅/高さ比。"
+ },
+ "threshold": {
+ "label": "信頼度しきい値",
+ "description": "オブジェクトを真陽性とみなすために必要な平均検知信頼度。"
+ },
+ "min_score": {
+ "label": "最低信頼度",
+ "description": "オブジェクトをカウントするために必要な単一フレームでの最低検知信頼度。"
+ },
+ "mask": {
+ "label": "フィルタマスク",
+ "description": "フレーム内でこのフィルタが適用される範囲を定義するポリゴン座標。"
+ },
+ "raw_mask": {
+ "label": "Raw マスク"
+ }
+ },
+ "mask": {
+ "label": "オブジェクトマスク",
+ "description": "指定領域でオブジェクト検知を行わないようにするためのマスクポリゴン。"
+ },
+ "raw_mask": {
+ "label": "Raw マスク"
+ },
+ "genai": {
+ "label": "GenAI オブジェクト設定",
+ "description": "追跡オブジェクトの説明生成や、生成 AI へのフレーム送信に関する GenAI オプション。",
+ "enabled": {
+ "label": "GenAI を有効化",
+ "description": "追跡オブジェクトの説明を GenAI で生成する機能を既定で有効にします。"
+ },
+ "use_snapshot": {
+ "label": "スナップショットを使用",
+ "description": "GenAI 説明生成にサムネイルではなくオブジェクトスナップショットを使用します。"
+ },
+ "prompt": {
+ "label": "キャプションプロンプト",
+ "description": "GenAI で説明を生成する際に使用するデフォルトのプロンプトテンプレート。"
+ },
+ "object_prompts": {
+ "label": "オブジェクト別プロンプト",
+ "description": "特定のラベルに対する GenAI 出力をカスタマイズするためのオブジェクト別プロンプト。"
+ },
+ "objects": {
+ "label": "GenAI 対象オブジェクト",
+ "description": "GenAI に既定で送信するオブジェクトラベルのリスト。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "GenAI 説明生成の対象となるためにオブジェクトが進入する必要があるゾーン。"
+ },
+ "debug_save_thumbnails": {
+ "label": "サムネイルを保存",
+ "description": "デバッグや確認のため、GenAI に送信したサムネイルを保存します。"
+ },
+ "send_triggers": {
+ "label": "GenAI 送信トリガー",
+ "description": "フレームを GenAI に送るタイミング(終了時、更新後など)を定義します。",
+ "tracked_object_end": {
+ "label": "終了時に送信",
+ "description": "追跡オブジェクトが終了した時点で GenAI にリクエストを送信します。"
+ },
+ "after_significant_updates": {
+ "label": "早期 GenAI トリガー",
+ "description": "追跡オブジェクトに対して指定回数の重要な更新があった後、GenAI にリクエストを送信します。"
+ }
+ },
+ "enabled_in_config": {
+ "label": "元の GenAI 状態",
+ "description": "元の静的設定で GenAI が有効化されていたかを示します。"
+ }
+ },
+ "filters_attribute": {
+ "label": "属性フィルタ",
+ "description": "誤検知を減らすために検知された属性に適用するフィルタ(面積、比率、信頼度)。",
+ "min_area": {
+ "label": "属性の最小面積",
+ "description": "この属性に必要なバウンディングボックスの最小面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
+ },
+ "max_area": {
+ "label": "属性の最大面積",
+ "description": "この属性に許容されるバウンディングボックスの最大面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
+ },
+ "min_ratio": {
+ "label": "最小アスペクト比",
+ "description": "対象となるバウンディングボックスに必要な最小の幅/高さ比。"
+ },
+ "max_ratio": {
+ "label": "最大アスペクト比",
+ "description": "対象となるバウンディングボックスに許容される最大の幅/高さ比。"
+ },
+ "threshold": {
+ "label": "信頼度しきい値",
+ "description": "属性を真陽性とみなすために必要な平均検知信頼度。"
+ },
+ "min_score": {
+ "label": "最低信頼度",
+ "description": "この属性を親オブジェクトに関連付けるために必要な単一フレームでの最低検知信頼度。"
+ },
+ "mask": {
+ "label": "フィルタマスク",
+ "description": "フレーム内でこのフィルタが適用される範囲を定義するポリゴン座標。"
+ },
+ "raw_mask": {
+ "label": "Raw マスク"
+ }
+ }
+ },
+ "record": {
+ "label": "録画",
+ "description": "カメラ別の上書きがない限り全カメラに適用される、録画と保持の設定。",
+ "enabled": {
+ "label": "録画を有効化",
+ "description": "全カメラの録画を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "expire_interval": {
+ "label": "録画クリーンアップ間隔",
+ "description": "期限切れ録画セグメントを削除するクリーンアップを実行する間隔 (分)。"
+ },
+ "continuous": {
+ "label": "常時保持",
+ "description": "追跡オブジェクトやモーションに関係なく録画を保持する日数。アラートと検知の録画のみを保持したい場合は 0 を指定します。",
+ "days": {
+ "label": "保持日数",
+ "description": "録画を保持する日数。"
+ }
+ },
+ "motion": {
+ "label": "モーション録画保持",
+ "description": "追跡オブジェクトに関係なくモーションでトリガーされた録画を保持する日数。アラートと検知の録画のみを保持したい場合は 0 を指定します。",
+ "days": {
+ "label": "保持日数",
+ "description": "録画を保持する日数。"
+ }
+ },
+ "detections": {
+ "label": "検知録画保持",
+ "description": "検知イベントの録画保持設定。前後の撮影時間を含みます。",
+ "pre_capture": {
+ "label": "イベント前秒数",
+ "description": "検知イベントの前に録画に含める秒数。"
+ },
+ "post_capture": {
+ "label": "イベント後秒数",
+ "description": "検知イベントの後に録画に含める秒数。"
+ },
+ "retain": {
+ "label": "イベント保持",
+ "description": "検知イベントの録画保持設定。",
+ "days": {
+ "label": "保持日数",
+ "description": "検知イベント録画を保持する日数。"
+ },
+ "mode": {
+ "label": "保持モード",
+ "description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
+ }
+ }
+ },
+ "alerts": {
+ "label": "アラート録画保持",
+ "description": "アラートイベントの録画保持設定。前後の撮影時間を含みます。",
+ "pre_capture": {
+ "label": "イベント前秒数",
+ "description": "アラートイベントの前に録画に含める秒数。"
+ },
+ "post_capture": {
+ "label": "イベント後秒数",
+ "description": "アラートイベントの後に録画に含める秒数。"
+ },
+ "retain": {
+ "label": "イベント保持",
+ "description": "アラートイベントの録画保持設定。",
+ "days": {
+ "label": "保持日数",
+ "description": "アラートイベント録画を保持する日数。"
+ },
+ "mode": {
+ "label": "保持モード",
+ "description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
+ }
+ }
+ },
+ "export": {
+ "label": "エクスポート設定",
+ "description": "タイムラプスやハードウェアアクセラレーションなど、録画をエクスポートする際に使用する設定。",
+ "hwaccel_args": {
+ "label": "エクスポート用 hwaccel 引数",
+ "description": "エクスポート/トランスコード処理で使用するハードウェアアクセラレーション引数。"
+ },
+ "max_concurrent": {
+ "label": "同時エクスポート数の上限",
+ "description": "同時に処理するエクスポートジョブの最大数。"
+ }
+ },
+ "preview": {
+ "label": "プレビュー設定",
+ "description": "UI に表示される録画プレビューの品質を制御する設定。",
+ "quality": {
+ "label": "プレビュー品質",
+ "description": "プレビュー品質レベル (very_low, low, medium, high, very_high)。"
+ }
+ },
+ "enabled_in_config": {
+ "label": "元の録画状態",
+ "description": "元の静的設定で録画が有効化されていたかを示します。"
+ }
+ },
+ "review": {
+ "label": "レビュー",
+ "description": "UI 表示と保存で使用するアラート、検知、GenAI レビューサマリーを制御する設定。",
+ "alerts": {
+ "label": "アラート設定",
+ "description": "どの追跡オブジェクトがアラートを生成するか、およびアラートの保持方法に関する設定。",
+ "enabled": {
+ "label": "アラートを有効化",
+ "description": "全カメラのアラート生成を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "labels": {
+ "label": "アラートラベル",
+ "description": "アラート対象となるオブジェクトラベルのリスト(例: car, person)。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "アラートとみなされるためにオブジェクトが進入する必要があるゾーン。空欄ですべてのゾーンを許可。"
+ },
+ "enabled_in_config": {
+ "label": "元のアラート状態",
+ "description": "元の静的設定でアラートが有効化されていたかを記録します。"
+ },
+ "cutoff_time": {
+ "label": "アラート打ち切り時間",
+ "description": "アラートを引き起こすアクティビティが途絶えてからアラートを打ち切るまでの待機秒数。"
+ }
+ },
+ "detections": {
+ "label": "検知設定",
+ "description": "どの追跡オブジェクトが(アラートではない)検知を生成するか、および検知の保持方法に関する設定。",
+ "enabled": {
+ "label": "検知を有効化",
+ "description": "全カメラの検知イベントを有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "labels": {
+ "label": "検知ラベル",
+ "description": "検知イベントの対象となるオブジェクトラベルのリスト。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "検知とみなされるためにオブジェクトが進入する必要があるゾーン。空欄ですべてのゾーンを許可。"
+ },
+ "cutoff_time": {
+ "label": "検知打ち切り時間",
+ "description": "検知を引き起こすアクティビティが途絶えてから検知を打ち切るまでの待機秒数。"
+ },
+ "enabled_in_config": {
+ "label": "元の検知状態",
+ "description": "元の静的設定で検知が有効化されていたかを記録します。"
+ }
+ },
+ "genai": {
+ "label": "GenAI 設定",
+ "description": "レビュー項目の説明やサマリーを生成 AI で作成する機能の制御。",
+ "enabled": {
+ "label": "GenAI 説明を有効化",
+ "description": "レビュー項目の GenAI 生成説明やサマリーを有効または無効にします。"
+ },
+ "alerts": {
+ "label": "アラートに GenAI を使用",
+ "description": "アラート項目の説明を GenAI で生成します。"
+ },
+ "detections": {
+ "label": "検知に GenAI を使用",
+ "description": "検知項目の説明を GenAI で生成します。"
+ },
+ "image_source": {
+ "label": "レビュー画像ソース",
+ "description": "GenAI に送信する画像のソース(「preview」または「recordings」)。「recordings」は高品質ですがトークン消費が増えます。"
+ },
+ "additional_concerns": {
+ "label": "追加の懸念事項",
+ "description": "このカメラのアクティビティ評価時に GenAI に考慮させる追加の懸念や注意事項のリスト。"
+ },
+ "debug_save_thumbnails": {
+ "label": "サムネイルを保存",
+ "description": "デバッグや確認のため、GenAI プロバイダに送信したサムネイルを保存します。"
+ },
+ "enabled_in_config": {
+ "label": "元の GenAI 状態",
+ "description": "元の静的設定で GenAI レビューが有効化されていたかを記録します。"
+ },
+ "preferred_language": {
+ "label": "希望言語",
+ "description": "GenAI プロバイダに生成応答で要求する言語。"
+ },
+ "activity_context_prompt": {
+ "label": "活動コンテキストプロンプト",
+ "description": "GenAI サマリーの文脈として、何が不審な活動で何がそうでないかを記述するカスタムプロンプト。"
+ }
+ }
+ },
+ "snapshots": {
+ "label": "スナップショット",
+ "description": "全カメラの追跡オブジェクトに対する API 生成スナップショットの設定(カメラ別に上書き可能)。",
+ "enabled": {
+ "label": "スナップショットを有効化",
+ "description": "全カメラのスナップショット保存を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "timestamp": {
+ "label": "タイムスタンプ重ね合わせ",
+ "description": "API スナップショットにタイムスタンプを重ねて表示します。"
+ },
+ "bounding_box": {
+ "label": "バウンディングボックス重ね合わせ",
+ "description": "API スナップショットに追跡オブジェクトのバウンディングボックスを描画します。"
+ },
+ "crop": {
+ "label": "スナップショットを切り抜き",
+ "description": "API スナップショットを検知オブジェクトのバウンディングボックスで切り抜きます。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "スナップショットを保存するためにオブジェクトが進入する必要があるゾーン。"
+ },
+ "height": {
+ "label": "スナップショット高さ",
+ "description": "API スナップショットをリサイズする高さ (ピクセル)。空欄で元のサイズを維持。"
+ },
+ "retain": {
+ "label": "スナップショット保持",
+ "description": "デフォルト保持日数とオブジェクト別上書きを含む、スナップショット保持設定。",
+ "default": {
+ "label": "デフォルト保持期間",
+ "description": "スナップショットを保持するデフォルト日数。"
+ },
+ "mode": {
+ "label": "保持モード",
+ "description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
+ },
+ "objects": {
+ "label": "オブジェクト別保持",
+ "description": "オブジェクトごとのスナップショット保持日数の上書き。"
+ }
+ },
+ "quality": {
+ "label": "スナップショット品質",
+ "description": "保存するスナップショットのエンコード品質 (0-100)。"
+ }
+ },
+ "timestamp_style": {
+ "label": "タイムスタンプスタイル",
+ "description": "デバッグビューとスナップショットの映像内に表示されるタイムスタンプのスタイル設定。",
+ "position": {
+ "label": "タイムスタンプ位置",
+ "description": "画像内のタイムスタンプ位置 (tl/tr/bl/br)。"
+ },
+ "format": {
+ "label": "タイムスタンプ書式",
+ "description": "タイムスタンプに使用する日時書式文字列 (Python datetime 書式コード)。"
+ },
+ "color": {
+ "label": "タイムスタンプ色",
+ "description": "タイムスタンプ文字色の RGB 値 (各 0-255)。",
+ "red": {
+ "label": "赤",
+ "description": "タイムスタンプ色の赤成分 (0-255)。"
+ },
+ "green": {
+ "label": "緑",
+ "description": "タイムスタンプ色の緑成分 (0-255)。"
+ },
+ "blue": {
+ "label": "青",
+ "description": "タイムスタンプ色の青成分 (0-255)。"
+ }
+ },
+ "thickness": {
+ "label": "タイムスタンプ太さ",
+ "description": "タイムスタンプ文字の線の太さ。"
+ },
+ "effect": {
+ "label": "タイムスタンプエフェクト",
+ "description": "タイムスタンプ文字の視覚効果 (none, solid, shadow)。"
+ }
+ },
+ "classification": {
+ "label": "オブジェクト分類",
+ "description": "オブジェクトラベルの精緻化や状態分類に使用する分類モデルの設定。",
+ "bird": {
+ "label": "鳥分類設定",
+ "description": "鳥分類モデル固有の設定。",
+ "enabled": {
+ "label": "鳥分類",
+ "description": "鳥分類を有効または無効にします。"
+ },
+ "threshold": {
+ "label": "最低スコア",
+ "description": "鳥分類を受け入れるために必要な最低分類スコア。"
+ }
+ },
+ "custom": {
+ "label": "カスタム分類モデル",
+ "description": "オブジェクトまたは状態検知に使用するカスタム分類モデルの設定。",
+ "enabled": {
+ "label": "モデルを有効化",
+ "description": "カスタム分類モデルを有効または無効にします。"
+ },
+ "name": {
+ "label": "モデル名",
+ "description": "使用するカスタム分類モデルの識別子。"
+ },
+ "threshold": {
+ "label": "スコアしきい値",
+ "description": "分類状態を変更するために使用するスコアしきい値。"
+ },
+ "save_attempts": {
+ "label": "保存試行数",
+ "description": "最近の分類 UI に表示するために保存する分類試行数。"
+ },
+ "object_config": {
+ "objects": {
+ "label": "分類対象オブジェクト",
+ "description": "オブジェクト分類を実行するオブジェクト種別のリスト。"
+ },
+ "classification_type": {
+ "label": "分類種別",
+ "description": "適用する分類種別: 'sub_label'(サブラベルを追加)またはサポートされる他の種別。"
+ }
+ },
+ "state_config": {
+ "cameras": {
+ "label": "分類対象カメラ",
+ "description": "状態分類を実行するためのカメラ別クロップと設定。",
+ "crop": {
+ "label": "分類クロップ",
+ "description": "このカメラで分類を実行する際に使用するクロップ座標。"
+ }
+ },
+ "motion": {
+ "label": "モーション時に実行",
+ "description": "true にすると、指定したクロップ内でモーションが検知されたときに分類を実行します。"
+ },
+ "interval": {
+ "label": "分類間隔",
+ "description": "状態分類の周期的な実行間隔(秒)。"
+ }
+ }
+ }
+ },
+ "semantic_search": {
+ "label": "セマンティック検索",
+ "description": "オブジェクト埋め込みを構築・クエリして類似項目を見つけるセマンティック検索の設定。",
+ "enabled": {
+ "label": "セマンティック検索を有効化",
+ "description": "セマンティック検索機能を有効または無効にします。"
+ },
+ "reindex": {
+ "label": "起動時に再インデックス",
+ "description": "過去の追跡オブジェクトを埋め込みデータベースに完全再インデックスします。"
+ },
+ "model": {
+ "label": "セマンティック検索モデルまたは GenAI プロバイダ名",
+ "description": "セマンティック検索に使用する埋め込みモデル(例: 'jinav1')、または embeddings ロールを持つ GenAI プロバイダ名。"
+ },
+ "model_size": {
+ "label": "モデルサイズ",
+ "description": "モデルサイズを選択。'small' は CPU で動作、'large' は通常 GPU が必要。"
+ },
+ "device": {
+ "label": "デバイス",
+ "description": "特定のデバイスを対象にする上書き設定 (詳細は https://onnxruntime.ai/docs/execution-providers/ を参照)"
+ },
+ "triggers": {
+ "label": "トリガー",
+ "description": "カメラ別のセマンティック検索トリガーの動作と一致条件。",
+ "friendly_name": {
+ "label": "表示名",
+ "description": "このトリガーの UI 表示用の任意の名前。"
+ },
+ "enabled": {
+ "label": "このトリガーを有効化",
+ "description": "このセマンティック検索トリガーを有効または無効にします。"
+ },
+ "type": {
+ "label": "トリガー種別",
+ "description": "トリガー種別: 「thumbnail」(画像に対する一致)または「description」(テキストに対する一致)。"
+ },
+ "data": {
+ "label": "トリガー内容",
+ "description": "追跡オブジェクトと照合するテキストフレーズまたはサムネイル ID。"
+ },
+ "threshold": {
+ "label": "トリガーしきい値",
+ "description": "このトリガーを発火させるために必要な最低類似度スコア (0-1)。"
+ },
+ "actions": {
+ "label": "トリガーアクション",
+ "description": "トリガー一致時に実行するアクションのリスト (notification, sub_label, attribute)。"
+ }
+ }
+ },
+ "face_recognition": {
+ "label": "顔認識",
+ "description": "全カメラの顔検知と顔認識の設定(カメラ別に上書き可能)。",
+ "enabled": {
+ "label": "顔認識を有効化",
+ "description": "全カメラの顔認識を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "model_size": {
+ "label": "モデルサイズ",
+ "description": "顔埋め込みに使用するモデルサイズ(small/large)。large は GPU が必要な場合があります。"
+ },
+ "unknown_score": {
+ "label": "未知顔スコアしきい値",
+ "description": "この距離しきい値を下回る場合、顔は潜在的な一致とみなされます(値が大きいほど厳格)。"
+ },
+ "detection_threshold": {
+ "label": "検知しきい値",
+ "description": "顔検知を有効とみなすために必要な最低検知信頼度。"
+ },
+ "recognition_threshold": {
+ "label": "認識しきい値",
+ "description": "2 つの顔を一致とみなす顔埋め込みの距離しきい値。"
+ },
+ "min_area": {
+ "label": "顔の最小面積",
+ "description": "認識を試みるために必要な顔ボックスの最小面積 (ピクセル)。"
+ },
+ "min_faces": {
+ "label": "最低顔認識数",
+ "description": "認識されたサブラベルを人物に適用する前に必要な、最低顔認識回数。"
+ },
+ "save_attempts": {
+ "label": "保存試行数",
+ "description": "最近の認識 UI に保持する顔認識試行数。"
+ },
+ "blur_confidence_filter": {
+ "label": "ボケ補正による信頼度調整",
+ "description": "画像のボケに基づいて信頼度スコアを調整し、低品質な顔の誤検知を減らします。"
+ },
+ "device": {
+ "label": "デバイス",
+ "description": "特定のデバイスを対象にする上書き設定 (詳細は https://onnxruntime.ai/docs/execution-providers/ を参照)"
+ }
+ },
+ "lpr": {
+ "label": "ナンバープレート認識",
+ "description": "ナンバープレート認識の設定。検知しきい値、書式整形、既知ナンバーなどを含みます。",
+ "enabled": {
+ "label": "LPR を有効化",
+ "description": "全カメラのナンバープレート認識を有効または無効にします(カメラ別に上書き可能)。"
+ },
+ "model_size": {
+ "label": "モデルサイズ",
+ "description": "テキスト検知/認識に使用するモデルサイズ。多くのユーザーは 'small' を使用してください。"
+ },
+ "detection_threshold": {
+ "label": "検知しきい値",
+ "description": "プレート候補に対する OCR を開始する検知信頼度しきい値。"
+ },
+ "min_area": {
+ "label": "プレート最小面積",
+ "description": "認識を試みるために必要なプレート最小面積 (ピクセル)。"
+ },
+ "recognition_threshold": {
+ "label": "認識しきい値",
+ "description": "認識されたプレート文字列をサブラベルとして付与するために必要な信頼度しきい値。"
+ },
+ "min_plate_length": {
+ "label": "プレート最小文字数",
+ "description": "有効とみなすために認識されたプレートに必要な最小文字数。"
+ },
+ "format": {
+ "label": "プレート書式正規表現",
+ "description": "認識されたプレート文字列を期待する書式と照合する任意の正規表現。"
+ },
+ "match_distance": {
+ "label": "マッチ距離",
+ "description": "検知されたプレートと既知のプレートを比較する際に許容する文字相違数。"
+ },
+ "known_plates": {
+ "label": "既知のプレート",
+ "description": "特別に追跡またはアラートするプレートまたは正規表現のリスト。"
+ },
+ "enhancement": {
+ "label": "強調レベル",
+ "description": "OCR 前にプレート切り出し画像に適用する強調レベル (0-10)。値を大きくしても常に改善するとは限らず、5 を超えると夜間プレートでのみ有効な場合があるため注意が必要です。"
+ },
+ "debug_save_plates": {
+ "label": "デバッグ用プレート保存",
+ "description": "LPR 性能のデバッグ用にプレート切り出し画像を保存します。"
+ },
+ "device": {
+ "label": "デバイス",
+ "description": "特定のデバイスを対象にする上書き設定 (詳細は https://onnxruntime.ai/docs/execution-providers/ を参照)"
+ },
+ "replace_rules": {
+ "label": "置換ルール",
+ "description": "照合前に検知プレート文字列を正規化するための正規表現置換ルール。",
+ "pattern": {
+ "label": "正規表現パターン"
+ },
+ "replacement": {
+ "label": "置換文字列"
+ }
+ },
+ "expire_time": {
+ "label": "失効秒数",
+ "description": "未検知ナンバーをトラッカーから失効させるまでの秒数(専用 LPR カメラのみ)。"
+ }
+ },
+ "camera_groups": {
+ "label": "カメラグループ",
+ "description": "UI でカメラを整理するための名前付きカメラグループの設定。",
+ "cameras": {
+ "label": "カメラリスト",
+ "description": "このグループに含まれるカメラ名の配列。"
+ },
+ "icon": {
+ "label": "グループアイコン",
+ "description": "UI でカメラグループを表すアイコン。"
+ },
+ "order": {
+ "label": "並び順",
+ "description": "UI でカメラグループを並べる数値順。値が大きいほど後ろに表示されます。"
+ }
+ },
+ "profiles": {
+ "label": "プロファイル",
+ "description": "表示名付きの名前付きプロファイル定義。カメラ別プロファイルはここで定義された名前を参照する必要があります。",
+ "friendly_name": {
+ "label": "表示名",
+ "description": "UI に表示されるこのプロファイルの表示名。"
+ }
+ },
+ "active_profile": {
+ "label": "アクティブプロファイル",
+ "description": "現在アクティブなプロファイル名。実行時のみ有効で YAML には保存されません。"
+ },
+ "camera_mqtt": {
+ "label": "MQTT",
+ "description": "MQTT 画像配信の設定。",
+ "enabled": {
+ "label": "画像送信",
+ "description": "このカメラのオブジェクト画像スナップショットを MQTT トピックに配信する機能を有効にします。"
+ },
+ "timestamp": {
+ "label": "タイムスタンプを追加",
+ "description": "MQTT に配信する画像にタイムスタンプを重ねて表示します。"
+ },
+ "bounding_box": {
+ "label": "バウンディングボックスを追加",
+ "description": "MQTT に配信する画像にバウンディングボックスを描画します。"
+ },
+ "crop": {
+ "label": "画像を切り抜き",
+ "description": "MQTT に配信する画像を検知オブジェクトのバウンディングボックスで切り抜きます。"
+ },
+ "height": {
+ "label": "画像の高さ",
+ "description": "MQTT 配信時に画像をリサイズする高さ (ピクセル)。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "MQTT 画像を配信するためにオブジェクトが進入する必要があるゾーン。"
+ },
+ "quality": {
+ "label": "JPEG 品質",
+ "description": "MQTT に配信する画像の JPEG 品質 (0-100)。"
+ }
+ },
+ "camera_ui": {
+ "label": "カメラ UI",
+ "description": "UI 内でのこのカメラの表示順と表示設定。順序はデフォルトダッシュボードに影響します。より細かい制御にはカメラグループを使用してください。",
+ "order": {
+ "label": "UI 表示順",
+ "description": "UI 内でのカメラの並び順に使用される数値(デフォルトダッシュボードとリスト)。値が大きいほど後ろに表示されます。"
+ },
+ "dashboard": {
+ "label": "UI に表示",
+ "description": "このカメラを Frigate UI 全体に表示するかを切り替えます。無効化した場合、再表示するには設定ファイルを手動編集する必要があります。"
+ }
+ },
+ "onvif": {
+ "label": "ONVIF",
+ "description": "このカメラの ONVIF 接続および PTZ オート追跡の設定。",
+ "host": {
+ "label": "ONVIF ホスト",
+ "description": "このカメラの ONVIF サービスのホスト(オプションでスキーマも)。"
+ },
+ "port": {
+ "label": "ONVIF ポート",
+ "description": "ONVIF サービスのポート番号。"
+ },
+ "user": {
+ "label": "ONVIF ユーザー名",
+ "description": "ONVIF 認証用のユーザー名。ONVIF に admin ユーザーが必要なデバイスもあります。"
+ },
+ "password": {
+ "label": "ONVIF パスワード",
+ "description": "ONVIF 認証用のパスワード。"
+ },
+ "tls_insecure": {
+ "label": "TLS 検証を無効化",
+ "description": "ONVIF の TLS 検証をスキップし、ダイジェスト認証も無効化します(安全でないため、信頼できるネットワークでのみ使用)。"
+ },
+ "profile": {
+ "label": "ONVIF プロファイル",
+ "description": "PTZ 制御に使用する ONVIF メディアプロファイル(トークンまたは名前で指定)。未設定の場合、有効な PTZ 設定を持つ最初のプロファイルが自動選択されます。"
+ },
+ "autotracking": {
+ "label": "オートトラッキング",
+ "description": "PTZ カメラの動作で移動中のオブジェクトを自動追跡し、フレーム中央に保ちます。",
+ "enabled": {
+ "label": "オートトラッキングを有効化",
+ "description": "検知オブジェクトの PTZ オート追跡を有効または無効にします。"
+ },
+ "calibrate_on_startup": {
+ "label": "起動時にキャリブレーション",
+ "description": "追跡精度を向上させるため、起動時に PTZ モーター速度を測定します。キャリブレーション後に movement_weights が設定に書き込まれます。"
+ },
+ "zooming": {
+ "label": "ズームモード",
+ "description": "ズーム動作の制御: disabled (パン/チルトのみ)、absolute (互換性が最も高い)、relative (パン/チルト/ズーム同時)。"
+ },
+ "zoom_factor": {
+ "label": "ズーム倍率",
+ "description": "追跡対象オブジェクトのズームレベルを制御します。値が小さいほど広い範囲を保ち、大きいほどズームインしますが追跡を失う可能性があります。0.1 〜 0.75 の範囲で指定。"
+ },
+ "track": {
+ "label": "追跡対象オブジェクト",
+ "description": "オートトラッキングを発動させるオブジェクト種別のリスト。"
+ },
+ "required_zones": {
+ "label": "必須ゾーン",
+ "description": "オートトラッキング開始前にオブジェクトが進入する必要があるゾーン。"
+ },
+ "return_preset": {
+ "label": "復帰プリセット",
+ "description": "追跡終了後にカメラが戻る、ファームウェアに設定されている ONVIF プリセット名。"
+ },
+ "timeout": {
+ "label": "復帰タイムアウト",
+ "description": "追跡を失ってからカメラをプリセット位置に戻すまでの待機秒数。"
+ },
+ "movement_weights": {
+ "label": "動作重み",
+ "description": "カメラキャリブレーションによって自動生成される値。手動で変更しないでください。"
+ },
+ "enabled_in_config": {
+ "label": "元のオート追跡状態",
+ "description": "オートトラッキングが設定で有効化されていたかを追跡する内部フィールド。"
+ }
+ },
+ "ignore_time_mismatch": {
+ "label": "時刻差異を無視",
+ "description": "ONVIF 通信時に、カメラと Frigate サーバー間の時刻同期差異を無視します。"
+ }
}
}
diff --git a/web/public/locales/ja/config/groups.json b/web/public/locales/ja/config/groups.json
index b09db04cd5..8e829ea167 100644
--- a/web/public/locales/ja/config/groups.json
+++ b/web/public/locales/ja/config/groups.json
@@ -2,7 +2,7 @@
"audio": {
"global": {
"sensitivity": "グローバル感度",
- "detection": "グローバル検出"
+ "detection": "グローバル検知"
},
"cameras": {
"detection": "検知",
diff --git a/web/public/locales/ja/config/validation.json b/web/public/locales/ja/config/validation.json
index 03073d0763..9f862a31ed 100644
--- a/web/public/locales/ja/config/validation.json
+++ b/web/public/locales/ja/config/validation.json
@@ -28,5 +28,8 @@
"detectRequired": "少なくとも1つの入力ストリームに「detect」ロールを割り当てる必要があります。",
"hwaccelDetectOnly": "ハードウェアアクセラレーション引数を定義できるのは、detect ロールを持つ入力ストリームのみです。"
}
+ },
+ "detect": {
+ "dimensionMustBeEven": "偶数を指定してください。"
}
}
diff --git a/web/public/locales/ja/objects.json b/web/public/locales/ja/objects.json
index c3e41af3f4..10fa2b8b92 100644
--- a/web/public/locales/ja/objects.json
+++ b/web/public/locales/ja/objects.json
@@ -116,5 +116,14 @@
"nzpost": "NZPost",
"postnord": "PostNord",
"gls": "GLS",
- "dpd": "DPD"
+ "dpd": "DPD",
+ "canada_post": "カナダポスト",
+ "royal_mail": "ロイヤルメール",
+ "school_bus": "スクールバス",
+ "skunk": "スカンク",
+ "kangaroo": "カンガルー",
+ "baby": "赤ちゃん",
+ "baby_stroller": "ベビーカー",
+ "rickshaw": "人力車",
+ "rodent": "齧歯類"
}
diff --git a/web/public/locales/ja/views/chat.json b/web/public/locales/ja/views/chat.json
index be73c63f59..4215a317c7 100644
--- a/web/public/locales/ja/views/chat.json
+++ b/web/public/locales/ja/views/chat.json
@@ -32,6 +32,41 @@
"send": "送信",
"suggested_requests": "質問してみてください:",
"starting_requests": {
- "show_recent_events": "最近のイベントを表示"
+ "show_recent_events": "最近のイベントを表示",
+ "show_camera_status": "カメラの状態を表示",
+ "recap": "留守中に何が起きた?",
+ "watch_camera": "カメラの動きを監視"
+ },
+ "starting_requests_prompts": {
+ "show_recent_events": "直近1時間のイベントを見せて",
+ "show_camera_status": "現在のカメラの状態はどうなっていますか?",
+ "recap": "留守中に何が起きた?",
+ "watch_camera": "玄関のカメラを監視して、誰か来たら教えて"
+ },
+ "new_chat": "新しいチャット",
+ "settings": {
+ "title": "チャット設定",
+ "show_stats": {
+ "title": "統計を表示",
+ "desc": "チャット応答の生成速度とコンテキストサイズを表示します。",
+ "while_generating": "生成中のみ",
+ "always": "常に表示"
+ },
+ "auto_scroll": {
+ "title": "自動スクロール",
+ "desc": "新しいメッセージが届いたら自動でスクロールします。"
+ }
+ },
+ "stats": {
+ "context": "{{tokens}} トークン",
+ "tokens_per_second": "{{rate}} t/s"
+ },
+ "reasoning": {
+ "active": "推論中…",
+ "show": "推論を表示",
+ "hide": "推論を非表示"
+ },
+ "thinking": {
+ "toggle": "思考の表示を切替"
}
}
diff --git a/web/public/locales/ja/views/classificationModel.json b/web/public/locales/ja/views/classificationModel.json
index ccd1c2c07f..91ff04c3bb 100644
--- a/web/public/locales/ja/views/classificationModel.json
+++ b/web/public/locales/ja/views/classificationModel.json
@@ -12,7 +12,7 @@
},
"toast": {
"success": {
- "deletedImage_other": "{{count}} 件の削除された画像",
+ "deletedImage_other": "{{count}} 枚の画像を削除しました",
"categorizedImage": "画像の分類に成功しました",
"trainedModel": "モデルを正常に学習させました。",
"trainingModel": "モデルのトレーニングを正常に開始しました。",
@@ -35,15 +35,15 @@
}
},
"train": {
- "titleShort": "Classifications,最近の分類結果を選択,,False,train.aria,,",
+ "titleShort": "最近の分類",
"title": "最近の分類結果",
"aria": "最近の分類結果を選択"
},
"wizard": {
"step1": {
- "typeObject": "Classification",
- "typeState": "Classification",
- "description": "状態モデルは固定カメラ領域の状態変化(例:ドアの開閉)を監視し、オブジェクトモデルは検出されたオブジェクトに分類(例:既知の動物や配達員など)を追加します。",
+ "typeObject": "オブジェクト",
+ "typeState": "状態",
+ "description": "状態モデルは固定カメラ領域の状態変化(例:ドアの開閉)を監視し、オブジェクトモデルは検知されたオブジェクトに分類(例:既知の動物や配達員など)を追加します。",
"name": "名前",
"namePlaceholder": "モデル名を入力...",
"type": "タイプ",
@@ -58,7 +58,7 @@
"states": "状態",
"classesTip": "クラスについて",
"classesStateDesc": "カメラ領域の状態を定義します。例: ガレージドアの「開」「閉」。",
- "classesObjectDesc": "検出されたオブジェクトを分類するための、異なるカテゴリを定義します。例:人物の分類として「delivery_person」「resident」「stranger」など。",
+ "classesObjectDesc": "検知されたオブジェクトを分類するための、異なるカテゴリを定義します。例:人物の分類として「delivery_person」「resident」「stranger」など。",
"classPlaceholder": "クラス名を入力...",
"errors": {
"nameRequired": "モデル名は必須です",
@@ -113,11 +113,16 @@
"missingStatesWarning": {
"title": "状態の例が不足しています",
"description": "最良の結果を得るため、すべての状態の例を選択することを推奨します。すべてを選択しなくても続行できますが、全状態に画像が揃うまでモデルは学習されません。続行後、「最近の分類」から不足分を分類し、学習を行ってください。"
+ },
+ "refreshExamples": "新しい例を生成",
+ "refreshConfirm": {
+ "title": "新しい例を生成しますか?",
+ "description": "この操作により、新しい画像セットが生成され、選択済みのものも含めすべての選択がクリアされます。すべてのクラスについて、再度例を選び直す必要があります。"
}
}
},
"details": {
- "scoreInfo": "このスコアは、このオブジェクトに対するすべての検出結果の分類信頼度の平均を表します。",
+ "scoreInfo": "このスコアは、このオブジェクトに対するすべての検知結果の分類信頼度の平均を表します。",
"none": "なし",
"unknown": "不明"
},
@@ -172,7 +177,7 @@
"noModels": {
"object": {
"title": "オブジェクト分類モデルがありません",
- "description": "検出されたオブジェクトを分類するためのカスタムモデルを作成します。",
+ "description": "検知されたオブジェクトを分類するためのカスタムモデルを作成します。",
"buttonText": "オブジェクトモデルを作成"
},
"state": {
@@ -180,5 +185,7 @@
"description": "特定のカメラ領域の状態変化を監視・分類するためのカスタムモデルを作成します。",
"buttonText": "状態モデルを作成"
}
- }
+ },
+ "reclassifyImageAs": "画像を次として再分類:",
+ "reclassifyImage": "画像を再分類"
}
diff --git a/web/public/locales/ja/views/events.json b/web/public/locales/ja/views/events.json
index 6e9273cefa..13dc92bdf3 100644
--- a/web/public/locales/ja/views/events.json
+++ b/web/public/locales/ja/views/events.json
@@ -1,12 +1,12 @@
{
- "detections": "検出",
+ "detections": "検知",
"motion": {
"label": "モーション",
"only": "モーションのみ"
},
"alerts": "アラート",
"empty": {
- "detection": "レビューする検出はありません",
+ "detection": "レビューする検知はありません",
"alert": "レビューするアラートはありません",
"motion": "モーションデータは見つかりません",
"recordingsDisabled": {
@@ -42,7 +42,7 @@
},
"selected_one": "{{count}} 選択済み",
"selected_other": "{{count}} 選択済み",
- "detected": "検出",
+ "detected": "検知",
"suspiciousActivity": "不審なアクティビティ",
"threateningActivity": "脅威となるアクティビティ",
"zoomIn": "ズームイン",
@@ -71,5 +71,24 @@
"motionSearch": {
"menuItem": "モーション検索",
"openMenu": "カメラオプション"
+ },
+ "motionPreviews": {
+ "menuItem": "モーションプレビューを表示",
+ "title": "モーションプレビュー: {{camera}}",
+ "mobileSettingsTitle": "モーションプレビュー設定",
+ "mobileSettingsDesc": "再生速度と暗転具合を調整し、確認したい日付を選んでモーションのみのクリップを再生します。",
+ "dim": "暗転",
+ "dimAria": "暗転の強さを調整",
+ "dimDesc": "暗転を強くするとモーション領域が見やすくなります。",
+ "speed": "速度",
+ "speedAria": "プレビューの再生速度を選択",
+ "speedDesc": "プレビュークリップの再生速度を選びます。",
+ "back": "戻る",
+ "empty": "利用可能なプレビューがありません",
+ "noPreview": "プレビューを利用できません",
+ "seekAria": "{{camera}} のプレーヤーを {{time}} までシーク",
+ "filter": "フィルター",
+ "filterDesc": "領域を選択すると、その領域でモーションが発生したクリップのみが表示されます。",
+ "filterClear": "クリア"
}
}
diff --git a/web/public/locales/ja/views/explore.json b/web/public/locales/ja/views/explore.json
index 2789e800f5..6b9ab4c46e 100644
--- a/web/public/locales/ja/views/explore.json
+++ b/web/public/locales/ja/views/explore.json
@@ -11,7 +11,7 @@
"viewInExplore": "探索で表示"
},
"tips": {
- "mismatch_other": "利用不可のオブジェクトが {{count}} 件、このレビュー項目に含まれています。これらはアラートまたは検出の条件を満たしていないか、既にクリーンアップ/削除されています。",
+ "mismatch_other": "利用不可のオブジェクトが {{count}} 件、このレビュー項目に含まれています。これらはアラートまたは検知の条件を満たしていないか、既にクリーンアップ/削除されています。",
"hasMissingObjects": "次のラベルの追跡オブジェクトを保存したい場合は設定を調整してください: {{objects}}"
},
"toast": {
@@ -83,7 +83,8 @@
"attributes": "分類属性",
"title": {
"label": "タイトル"
- }
+ },
+ "scoreInfo": "スコア情報"
},
"exploreMore": "{{label}} のオブジェクトをさらに探索",
"exploreIsUnavailable": {
@@ -219,12 +220,22 @@
},
"hideObjectDetails": {
"label": "オブジェクトの移動経路を非表示"
+ },
+ "debugReplay": {
+ "label": "デバッグリプレイ",
+ "aria": "この追跡オブジェクトをデバッグリプレイビューで表示"
+ },
+ "more": {
+ "aria": "その他"
}
},
"dialog": {
"confirmDelete": {
"title": "削除の確認",
"desc": "この追跡オブジェクトを削除すると、スナップショット、保存された埋め込み、および関連する追跡詳細項目が削除されます。履歴ビューの録画映像は削除されません。
続行してもよろしいですか?"
+ },
+ "toast": {
+ "error": "この追跡オブジェクトの削除に失敗しました: {{errorMessage}}"
}
},
"noTrackedObjects": "追跡オブジェクトは見つかりませんでした",
@@ -257,22 +268,25 @@
"count": "{{second}} 件中 {{first}} 件目",
"trackedPoint": "追跡ポイント",
"lifecycleItemDesc": {
- "visible": "{{label}} が検出されました",
+ "visible": "{{label}} が検知されました",
"entered_zone": "{{label}} が {{zones}} に入りました",
"active": "{{label}} がアクティブになりました",
"stationary": "{{label}} が静止状態になりました",
"attribute": {
- "faceOrLicense_plate": "{{label}} に {{attribute}} が検出されました",
+ "faceOrLicense_plate": "{{label}} に {{attribute}} が検知されました",
"other": "{{label}} は {{attribute}} と認識されました"
},
"gone": "{{label}} が離脱しました",
- "heard": "{{label}} の音が検出されました",
- "external": "{{label}} が検出されました",
+ "heard": "{{label}} の音が検知されました",
+ "external": "{{label}} が検知されました",
"header": {
"zones": "ゾーン",
"ratio": "比率",
"area": "面積",
- "score": "スコア"
+ "score": "スコア",
+ "computedScore": "計算スコア",
+ "topScore": "トップスコア",
+ "toggleAdvancedScores": "詳細スコアを切替"
}
},
"annotationSettings": {
@@ -283,7 +297,7 @@
},
"offset": {
"label": "注釈オフセット",
- "millisecondsToOffset": "検出アノテーションをオフセットするミリ秒数です。デフォルト: 0",
+ "millisecondsToOffset": "検知アノテーションをオフセットするミリ秒数です。デフォルト: 0",
"toast": {
"success": "{{camera}} のアノテーションオフセットが設定ファイルに保存されました。"
},
diff --git a/web/public/locales/ja/views/exports.json b/web/public/locales/ja/views/exports.json
index 767c05a11a..5cff546459 100644
--- a/web/public/locales/ja/views/exports.json
+++ b/web/public/locales/ja/views/exports.json
@@ -69,13 +69,14 @@
"noDescription": "説明がありません",
"exportCount_one": "1 件のエクスポート",
"exportCount_other": "{{count}} エクスポート",
- "cameraCount_other": "{{count}} カメラ",
+ "cameraCount_other": "{{count}} 台のカメラ",
"showMore": "さらに表示",
"showLess": "表示を減らす",
"emptyTitle": "このケースは空です",
"emptyDescription": "既存の分類されていないエクスポートを追加して、ケースを整理しましょう。",
"emptyDescriptionNoExports": "まだ追加可能な未分類のエクスポートはありません。",
- "createdAt": "作成日 {{value}}"
+ "createdAt": "作成日 {{value}}",
+ "cameraCount_one": "1 台のカメラ"
},
"caseEditor": {
"createTitle": "ケースを作成",
diff --git a/web/public/locales/ja/views/faceLibrary.json b/web/public/locales/ja/views/faceLibrary.json
index 9446398abf..8a79b4ae4e 100644
--- a/web/public/locales/ja/views/faceLibrary.json
+++ b/web/public/locales/ja/views/faceLibrary.json
@@ -17,7 +17,7 @@
"documentTitle": "顔データベース - Frigate",
"uploadFaceImage": {
"title": "顔画像をアップロード",
- "desc": "顔を検出するために画像をアップロードし、{{pageToggle}} に追加します"
+ "desc": "顔を検知するために画像をアップロードし、{{pageToggle}} に追加します"
},
"collections": "コレクション",
"createFaceLibrary": {
@@ -39,7 +39,11 @@
"title": "過去の学習",
"aria": "過去の学習を選択",
"empty": "最近の顔認識の試行はありません",
- "titleShort": "Classifications,最近の分類結果を選択,,False,train.aria,,"
+ "titleShort": "最近の分類",
+ "emptyNoLibrary": {
+ "title": "顔画像をアップロード",
+ "description": "顔認識を機能させるには、ライブラリに少なくとも 1 つの顔を追加する必要があります。"
+ }
},
"selectFace": "顔を選択",
"deleteFaceLibrary": {
@@ -82,7 +86,8 @@
"deletedName_other": "{{count}} 件の顔を削除しました。",
"renamedFace": "顔の名前を {{name}} に変更しました",
"trainedFace": "顔の学習が完了しました。",
- "updatedFaceScore": "顔のスコアを {{name}} ({{score}})に更新しました。"
+ "updatedFaceScore": "顔のスコアを {{name}} ({{score}})に更新しました。",
+ "reclassifiedFace": "顔を再分類しました。"
},
"error": {
"uploadingImageFailed": "画像のアップロードに失敗しました: {{errorMessage}}",
@@ -91,7 +96,8 @@
"deleteNameFailed": "名前の削除に失敗しました: {{errorMessage}}",
"renameFaceFailed": "顔の名前変更に失敗しました: {{errorMessage}}",
"trainFailed": "学習に失敗しました: {{errorMessage}}",
- "updateFaceScoreFailed": "顔スコアの更新に失敗しました: {{errorMessage}}"
+ "updateFaceScoreFailed": "顔スコアの更新に失敗しました: {{errorMessage}}",
+ "reclassifyFailed": "顔の再分類に失敗しました: {{errorMessage}}"
}
},
"reclassifyFaceAs": "顔を再分類する:",
diff --git a/web/public/locales/ja/views/live.json b/web/public/locales/ja/views/live.json
index 8fde1adb18..0fe4e7b99f 100644
--- a/web/public/locales/ja/views/live.json
+++ b/web/public/locales/ja/views/live.json
@@ -58,15 +58,17 @@
},
"camera": {
"enable": "カメラを有効化",
- "disable": "カメラを無効化"
+ "disable": "カメラを無効化",
+ "turnOn": "カメラをオンにする",
+ "turnOff": "カメラをオフにする"
},
"muteCameras": {
"enable": "全カメラをミュート",
"disable": "全カメラのミュートを解除"
},
"detect": {
- "enable": "検出を有効化",
- "disable": "検出を無効化"
+ "enable": "検知を有効化",
+ "disable": "検知を無効化"
},
"recording": {
"enable": "録画を有効化",
@@ -78,8 +80,8 @@
"disable": "スナップショットを無効化"
},
"audioDetect": {
- "enable": "音声検出を有効化",
- "disable": "音声検出を無効化"
+ "enable": "音声検知を有効化",
+ "disable": "音声検知を無効化"
},
"transcription": {
"enable": "ライブ音声文字起こしを有効化",
@@ -142,18 +144,19 @@
"tips": "プレーヤーが非表示でもストリーミングを継続するにはこのオプションを有効にします。"
},
"debug": {
- "picker": "デバッグモードではストリームの選択はできません。デバッグビューは常に 検出ロールに割り当てられたストリームを使用します。"
+ "picker": "デバッグモードではストリームの選択はできません。デバッグビューは常に 検知ロールに割り当てられたストリームを使用します。"
}
},
"cameraSettings": {
"title": "{{camera}} の設定",
"cameraEnabled": "カメラ有効",
- "objectDetection": "物体検出",
+ "objectDetection": "物体検知",
"recording": "録画",
"snapshots": "スナップショット",
- "audioDetection": "音声検出",
+ "audioDetection": "音声検知",
"transcription": "音声文字起こし",
- "autotracking": "オートトラッキング"
+ "autotracking": "オートトラッキング",
+ "camera": "カメラ"
},
"history": {
"label": "履歴映像を表示"
diff --git a/web/public/locales/ja/views/motionSearch.json b/web/public/locales/ja/views/motionSearch.json
index 6e0d6b4b64..cc648822e2 100644
--- a/web/public/locales/ja/views/motionSearch.json
+++ b/web/public/locales/ja/views/motionSearch.json
@@ -15,7 +15,7 @@
"searching": "検索中です。",
"searchComplete": "検索完了",
"noResultsYet": "選択した領域内の動きの変化を検索します",
- "noChangesFound": "選択した領域でピクセルの変化は検出されませんでした",
+ "noChangesFound": "選択した領域でピクセルの変化は検知されませんでした",
"changesFound_other": "{{count}} 件の動きの変化が見つかりました",
"framesProcessed": "{{count}} フレームを処理しました",
"jumpToTime": "この時間に移動",
@@ -27,7 +27,9 @@
"polygonControls": {
"points_other": "{{count}} ポイント",
"undo": "直前のポイントを元に戻す",
- "reset": "ポリゴンをリセット"
+ "reset": "ポリゴンをリセット",
+ "drawMode": "描画",
+ "moveMode": "移動"
},
"motionHeatmapLabel": "モーションヒートマップ",
"timeRange": {
@@ -37,6 +39,40 @@
},
"settings": {
"title": "検索設定",
- "parallelMode": "並列モード"
- }
+ "parallelMode": "並列モード",
+ "parallelModeDesc": "複数の録画範囲を同時にスキャンする(処理が高速化されますが、デコードリソースをより多く消費します)",
+ "threshold": "感度しきい値",
+ "thresholdDesc": "値を小さくするとより小さな変化も検知します (1-255)",
+ "minArea": "最小変化面積",
+ "minAreaDesc": "単一移動領域の最小サイズ(関心領域に対するパーセンテージ)",
+ "frameSkip": "フレームスキップ",
+ "frameSkipDesc": "N フレームごとに処理します。カメラのフレームレートと同じ値にすると 1 秒あたり 1 フレーム処理されます(例: 5 FPS のカメラなら 5、30 FPS なら 30)。値を大きくすると高速になりますが、短時間のモーションを取りこぼす可能性があります。",
+ "maxResults": "最大結果数",
+ "maxResultsDesc": "この件数のタイムスタンプにヒットした時点でスキャンを停止します"
+ },
+ "errors": {
+ "noCamera": "カメラを選択してください",
+ "noROI": "関心領域を描画してください",
+ "noTimeRange": "時間範囲を選択してください",
+ "invalidTimeRange": "終了時刻は開始時刻より後である必要があります",
+ "searchFailed": "検索に失敗しました: {{message}}",
+ "polygonTooSmall": "ポリゴンには少なくとも 3 つの点が必要です",
+ "unknown": "不明なエラー"
+ },
+ "changePercentage": "{{percentage}}% 変化",
+ "metrics": {
+ "title": "検索メトリクス",
+ "segmentsScanned": "スキャンしたセグメント",
+ "segmentsProcessed": "処理済み",
+ "segmentsSkippedInactive": "スキップ (アクティビティなし)",
+ "segmentsSkippedHeatmap": "スキップ (関心領域と重なりなし)",
+ "fallbackFullRange": "全範囲スキャンへのフォールバック",
+ "framesDecoded": "デコードしたフレーム",
+ "wallTime": "検索時間",
+ "segmentErrors": "セグメントエラー",
+ "seconds": "{{seconds}} 秒",
+ "minutesSeconds": "{{minutes}} 分 {{seconds}} 秒",
+ "scanSummary": "{{segments}} セグメント · {{time}}"
+ },
+ "scanning": "スキャン中 {{time}}"
}
diff --git a/web/public/locales/ja/views/replay.json b/web/public/locales/ja/views/replay.json
index d3c3a6a844..b975486100 100644
--- a/web/public/locales/ja/views/replay.json
+++ b/web/public/locales/ja/views/replay.json
@@ -1,12 +1,12 @@
{
"title": "デバッグリプレイ",
- "description": "デバッグ用にカメラの録画をリプレイします。オブジェクトリストには検出されたオブジェクトの遅延サマリーが表示され、「メッセージ」タブにはリプレイ映像からのFrigate内部メッセージのストリームが表示されます。",
+ "description": "デバッグ用にカメラの録画をリプレイします。オブジェクトリストには検知されたオブジェクトの遅延サマリーが表示され、「メッセージ」タブにはリプレイ映像からのFrigate内部メッセージのストリームが表示されます。",
"websocket_messages": "メッセージ",
"dialog": {
"title": "デバッグリプレイを開始",
- "description": "オブジェクトの検出やトラッキングの問題をデバッグするために、過去の映像をループ再生する一時的なリプレイカメラを作成します。このリプレイカメラは、ソースカメラ(元カメラ)と同じ検出設定を引き継ぎます。開始する時間範囲を選択してください。",
+ "description": "オブジェクトの検知やトラッキングの問題をデバッグするために、過去の映像をループ再生する一時的なリプレイカメラを作成します。このリプレイカメラは、ソースカメラ(元カメラ)と同じ検知設定を引き継ぎます。開始する時間範囲を選択してください。",
"camera": "ソースカメラ",
- "timeRange": "時間範囲",
+ "timeRange": "期間",
"preset": {
"1m": "直近1分間",
"5m": "直近5分間",
@@ -48,9 +48,9 @@
"cancel": "キャンセル"
},
"activity": "アクティビティ",
- "objects": "オブジェクトリスト",
- "audioDetections": "オーディオ検出",
- "noActivity": "アクティビティは検出されませんでした",
+ "objects": "オブジェクト一覧",
+ "audioDetections": "音声検知",
+ "noActivity": "アクティビティは検知されませんでした",
"activeTracking": "アクティブトラッキング",
"noActiveTracking": "アクティブトラッキングなし",
"configuration": "設定",
diff --git a/web/public/locales/ja/views/settings.json b/web/public/locales/ja/views/settings.json
index db762c8d5d..0222eba9f1 100644
--- a/web/public/locales/ja/views/settings.json
+++ b/web/public/locales/ja/views/settings.json
@@ -15,13 +15,14 @@
"maintenance": "メンテナンス - Frigate",
"profiles": "プロファイル - Frigate",
"globalConfig": "グローバル設定 - Frigate",
- "cameraConfig": "カメラ設定 - Frigate"
+ "cameraConfig": "カメラ設定 - Frigate",
+ "detectorsAndModel": "検出器とモデル - Frigate"
},
"menu": {
"ui": "UI",
"enrichments": "高度解析",
"cameras": "カメラ設定",
- "masksAndZones": "マスク/ゾーン",
+ "masksAndZones": "マスク / ゾーン",
"motionTuner": "モーションチューナー",
"triggers": "トリガー",
"debug": "デバッグ",
@@ -30,23 +31,23 @@
"frigateplus": "Frigate+",
"cameraManagement": "管理",
"cameraReview": "レビュー",
- "roles": "区分",
- "general": "一般",
+ "roles": "ロール",
+ "general": "全般",
"globalConfig": "グローバル設定",
"system": "システム",
- "integrations": "統合",
+ "integrations": "連携",
"uiSettings": "UI設定",
"profiles": "プロファイル",
- "globalDetect": "物体検出",
+ "globalDetect": "物体検知",
"globalRecording": "録画",
"globalSnapshots": "スナップショット",
"globalFfmpeg": "FFmpeg",
- "globalMotion": "動体検出",
+ "globalMotion": "モーション検知",
"globalObjects": "オブジェクト",
"globalReview": "レビュー",
- "globalAudioEvents": "オーディオイベント",
+ "globalAudioEvents": "音声検知",
"globalLivePlayback": "ライブ再生",
- "globalTimestampStyle": "タイムスタンプ形式",
+ "globalTimestampStyle": "タイムスタンプスタイル",
"systemDatabase": "データベース",
"systemTls": "TLS",
"systemAuthentication": "認証",
@@ -55,7 +56,40 @@
"systemUi": "UI",
"systemLogging": "ロギング",
"systemEnvironmentVariables": "環境変数",
- "systemTelemetry": "テレメトリー"
+ "systemTelemetry": "テレメトリ",
+ "systemBirdseye": "バードアイ",
+ "systemFfmpeg": "FFmpeg",
+ "systemDetectorsAndModel": "検出器とモデル",
+ "systemMqtt": "MQTT",
+ "systemGo2rtcStreams": "go2rtc ストリーム",
+ "integrationSemanticSearch": "セマンティック検索",
+ "integrationGenerativeAi": "生成AI",
+ "integrationFaceRecognition": "顔認識",
+ "integrationLpr": "ナンバープレート認識",
+ "integrationObjectClassification": "オブジェクト分類",
+ "integrationAudioTranscription": "音声文字起こし",
+ "cameraDetect": "物体検知",
+ "cameraFfmpeg": "FFmpeg",
+ "cameraRecording": "録画",
+ "cameraSnapshots": "スナップショット",
+ "cameraMotion": "モーション検知",
+ "cameraObjects": "オブジェクト",
+ "cameraConfigReview": "レビュー",
+ "cameraAudioEvents": "音声検知",
+ "cameraAudioTranscription": "音声文字起こし",
+ "cameraNotifications": "通知",
+ "cameraLivePlayback": "ライブ再生",
+ "cameraBirdseye": "バードアイ",
+ "cameraFaceRecognition": "顔認識",
+ "cameraLpr": "ナンバープレート認識",
+ "cameraMqttConfig": "MQTT",
+ "cameraOnvif": "ONVIF",
+ "cameraUi": "カメラ UI",
+ "cameraTimestampStyle": "タイムスタンプスタイル",
+ "cameraMqtt": "カメラ MQTT",
+ "maintenance": "メンテナンス",
+ "mediaSync": "メディア同期",
+ "regionGrid": "リージョングリッド"
},
"dialog": {
"unsavedChanges": {
@@ -85,7 +119,7 @@
},
"liveFallbackTimeout": {
"label": "ライブプレイヤーのフォールバック タイムアウト",
- "desc": "カメラの高画質ライブストリームが利用できない場合、指定した秒数後に低帯域モードへ切り替えます。デフォルト:3 秒"
+ "desc": "カメラの高画質ライブストリームが利用できない場合、指定した秒数後に低帯域モードへ切り替えます。デフォルトは 3 秒。"
}
},
"storedLayouts": {
@@ -117,7 +151,7 @@
"toast": {
"success": {
"clearStoredLayout": "{{cameraName}} の保存済みレイアウトをクリアしました",
- "clearStreamingSettings": "すべてのカメラグループのストリーミング設定をクリアしました。"
+ "clearStreamingSettings": "全カメラグループのストリーミング設定をクリアしました。"
},
"error": {
"clearStoredLayoutFailed": "保存済みレイアウトのクリアに失敗しました: {{errorMessage}}",
@@ -176,7 +210,7 @@
},
"licensePlateRecognition": {
"title": "ナンバープレート認識",
- "desc": "車両のナンバープレートを認識し、検出文字列を recognized_license_plate フィールドへ、または既知の名称を car タイプのオブジェクトの sub_label として自動追加できます。一般的な用途として、私道に入ってくる車や道路を通過する車のナンバー読み取りがあります。"
+ "desc": "車両のナンバープレートを認識し、検知文字列を recognized_license_plate フィールドへ、または既知の名称を car タイプのオブジェクトの sub_label として自動追加できます。一般的な用途として、私道に入ってくる車や道路を通過する車のナンバー読み取りがあります。"
},
"restart_required": "再起動が必要です(高度解析設定を変更)",
"toast": {
@@ -322,6 +356,21 @@
"zone": "ゾーン",
"motion_mask": "モーションマスク",
"object_mask": "オブジェクトマスク"
+ },
+ "revertOverride": {
+ "title": "ベース設定に戻す",
+ "desc": "{{type}} {{name}} のプロファイル上書きを削除し、ベース設定に戻します。"
+ }
+ },
+ "id": {
+ "error": {
+ "mustNotBeEmpty": "ID は空にできません。",
+ "alreadyExists": "この ID のマスクはこのカメラに既に存在します。"
+ }
+ },
+ "name": {
+ "error": {
+ "mustNotBeEmpty": "名前は空にできません。"
}
}
},
@@ -337,7 +386,7 @@
"point_other": "{{count}} 点",
"clickDrawPolygon": "画像上をクリックして多角形を描画します。",
"name": {
- "title": "名称",
+ "title": "名前",
"inputPlaceHolder": "名前を入力…",
"tips": "名前は2文字以上で、少なくとも1文字のアルファベットを含み、このカメラ上の他のゾーン名やカメラ名と同一であってはなりません。"
},
@@ -374,43 +423,53 @@
},
"toast": {
"success": "ゾーン({{zoneName}})を保存しました。"
+ },
+ "enabled": {
+ "title": "有効",
+ "description": "このゾーンを設定ファイルで有効化するかどうか。無効化すると MQTT からも有効化できず、実行時には無視されます。"
}
},
"motionMasks": {
"label": "モーションマスク",
"documentTitle": "モーションマスクを編集 - Frigate",
"desc": {
- "title": "モーションマスクは、望ましくない種類の動きで検出がトリガーされるのを防ぎます。過度なマスクはオブジェクト追跡を困難にします。",
+ "title": "モーションマスクは、望ましくない種類の動きで検知がトリガーされるのを防ぎます。過度なマスクはオブジェクト追跡を困難にします。",
"documentation": "ドキュメント"
},
"add": "新しいモーションマスク",
"edit": "モーションマスクを編集",
"context": {
- "title": "モーションマスクは、望ましくない動き(例: 木の枝、カメラのタイムスタンプ)で検出がトリガーされるのを防ぐために使用します。ごく控えめに使用してください。過度なマスクはオブジェクト追跡を困難にします。"
+ "title": "モーションマスクは、望ましくない動き(例: 木の枝、カメラのタイムスタンプ)で検知がトリガーされるのを防ぐために使用します。ごく控えめに使用してください。過度なマスクはオブジェクト追跡を困難にします。"
},
"point_other": "{{count}} 点",
"clickDrawPolygon": "画像上をクリックして多角形を描画します。",
"polygonAreaTooLarge": {
"title": "モーションマスクがカメラフレームの {{polygonArea}}% を覆っています。大きなモーションマスクは推奨されません。",
- "tips": "モーションマスクはオブジェクトの検出自体を防ぎません。代わりに必須ゾーンを使用してください。"
+ "tips": "モーションマスクはオブジェクトの検知自体を防ぎません。代わりに必須ゾーンを使用してください。"
},
"toast": {
"success": {
"title": "{{polygonName}} を保存しました。",
"noName": "モーションマスクを保存しました。"
}
+ },
+ "defaultName": "モーションマスク {{number}}",
+ "name": {
+ "title": "名前",
+ "description": "このモーションマスクの任意の表示名です。",
+ "placeholder": "名前を入力..."
}
},
"objectMasks": {
"label": "オブジェクトマスク",
"documentTitle": "オブジェクトマスクを編集 - Frigate",
"desc": {
- "title": "オブジェクトフィルタマスクは、位置に基づいて特定のオブジェクトタイプの誤検出を除外するために使用します。",
+ "title": "オブジェクトフィルタマスクは、位置に基づいて特定のオブジェクトタイプの誤検知を除外するために使用します。",
"documentation": "ドキュメント"
},
"add": "オブジェクトマスクを追加",
"edit": "オブジェクトマスクを編集",
- "context": "オブジェクトフィルタマスクは、位置に基づいて特定のオブジェクトタイプの誤検出を除外するために使用します。",
+ "context": "オブジェクトフィルタマスクは、位置に基づいて特定のオブジェクトタイプの誤検知を除外するために使用します。",
"point_other": "{{count}} 点",
"clickDrawPolygon": "画像上をクリックして多角形を描画します。",
"objects": {
@@ -423,14 +482,29 @@
"title": "{{polygonName}} を保存しました。",
"noName": "オブジェクトマスクを保存しました。"
}
+ },
+ "name": {
+ "title": "名前",
+ "description": "このオブジェクトマスクの任意の表示名です。",
+ "placeholder": "名前を入力..."
+ }
+ },
+ "disabledInConfig": "この項目は設定ファイルで無効化されています",
+ "addDisabledProfile": "まずベース設定に追加してから、プロファイルで上書きしてください",
+ "profileBase": "(ベース)",
+ "profileOverride": "(上書き)",
+ "masks": {
+ "enabled": {
+ "title": "有効",
+ "description": "このマスクを設定ファイルで有効化するかどうか。無効化すると MQTT からも有効化できず、実行時には無視されます。"
}
}
},
"motionDetectionTuner": {
- "title": "モーション検出チューナー",
+ "title": "モーション検知チューナー",
"unsavedChanges": "未保存のモーションチューナーの変更({{camera}})",
"desc": {
- "title": "Frigate は、フレーム内に物体検出で確認すべき動きがあるかの一次チェックとしてモーション検出を使用します。",
+ "title": "Frigate は、フレーム内に物体検知で確認すべき動きがあるかの一次チェックとしてモーション検知を使用します。",
"documentation": "モーション調整ガイドを読む"
},
"Threshold": {
@@ -451,15 +525,15 @@
},
"debug": {
"title": "デバッグ",
- "detectorDesc": "Frigate は検出器({{detectors}})を使用して、カメラの映像ストリーム内のオブジェクトを検出します。",
- "desc": "デバッグビューは、追跡オブジェクトとその統計をリアルタイムに表示します。オブジェクト一覧には、検出オブジェクトの時差サマリが表示されます。",
+ "detectorDesc": "Frigate は検出器({{detectors}})を使用して、カメラの映像ストリーム内のオブジェクトを検知します。",
+ "desc": "デバッグビューは、追跡オブジェクトとその統計をリアルタイムに表示します。オブジェクト一覧には、検知オブジェクトの時差サマリが表示されます。",
"openCameraWebUI": "{{camera}} の Web UI を開く",
"debugging": "デバッグ",
"objectList": "オブジェクト一覧",
"noObjects": "オブジェクトなし",
"audio": {
"title": "音声",
- "noAudioDetections": "音声検出なし",
+ "noAudioDetections": "音声検知なし",
"score": "スコア",
"currentRMS": "現在の RMS",
"currentdbFS": "現在の dBFS"
@@ -469,7 +543,7 @@
"desc": "追跡オブジェクトの周囲にバウンディングボックスを表示します",
"colors": {
"label": "オブジェクトのボックス色",
- "info": "起動時に、各オブジェクトラベルへ異なる色が割り当てられます細い濃青線は、現在時点では未検出であることを示します細い灰線は、静止していると検出されたことを示します太線は、(有効時)オートトラッキングの対象であることを示します"
+ "info": "起動時に、各オブジェクトラベルへ異なる色が割り当てられます細い濃青線は、現在時点では未検知であることを示します細い灰線は、静止していると検知されたことを示します太線は、(有効時)オートトラッキングの対象であることを示します"
}
},
"timestamp": {
@@ -486,8 +560,8 @@
},
"motion": {
"title": "モーションボックス",
- "desc": "モーションが検出された領域のボックスを表示します",
- "tips": "モーションボックス
現在モーションが検出されている領域に赤いボックスが重ねて表示されます
"
+ "desc": "モーションが検知された領域のボックスを表示します",
+ "tips": "モーションボックス
現在モーションが検知されている領域に赤いボックスが重ねて表示されます
"
},
"regions": {
"title": "領域",
@@ -643,7 +717,7 @@
"createRole": "ロール {{role}} を作成しました",
"updateCameras": "ロール {{role}} のカメラを更新しました",
"deleteRole": "ロール {{role}} を削除しました",
- "userRolesUpdated_other": "このロールに割り当てられていた {{count}} ユーザーは「viewer」に更新され、すべてのカメラへの閲覧アクセスが付与されました。"
+ "userRolesUpdated_other": "このロールに割り当てられていた {{count}} ユーザーは「viewer」に更新され、全カメラへの閲覧アクセスが付与されました。"
},
"error": {
"createRoleFailed": "ロールの作成に失敗しました: {{errorMessage}}",
@@ -663,7 +737,7 @@
},
"deleteRole": {
"title": "ロールを削除",
- "desc": "この操作は元に戻せません。ロールは完全に削除され、このロールを持っていたユーザーは「viewer」ロールに再割り当てされ、すべてのカメラへの閲覧アクセスが付与されます。",
+ "desc": "この操作は元に戻せません。ロールは完全に削除され、このロールを持っていたユーザーは「viewer」ロールに再割り当てされ、全カメラへの閲覧アクセスが付与されます。",
"warn": "{{role}} を削除してもよろしいですか?",
"deleting": "削除中…"
},
@@ -692,7 +766,8 @@
},
"notificationUnavailable": {
"title": "通知は利用できません",
- "desc": "Web プッシュ通知にはセキュアコンテキスト(https://…)が必要です。これはブラウザの制限です。通知を利用するには、セキュアに Frigate へアクセスしてください。"
+ "desc": "Web プッシュ通知にはセキュアコンテキスト(https://…)が必要です。これはブラウザの制限です。通知を利用するには、セキュアに Frigate へアクセスしてください。",
+ "descPwa": "iOSでは、Frigateをホーム画面に追加した場合にのみ、Webプッシュ通知を利用できます。共有メニューを開き、ホーム画面に追加を選択してから、新しいアイコンからFrigateを起動し、このデバイスを通知対象として登録してください。"
},
"globalSettings": {
"title": "グローバル設定",
@@ -748,7 +823,7 @@
},
"snapshotConfig": {
"title": "スナップショット設定",
- "desc": "Frigate+ への送信には、設定でスナップショットと clean_copy スナップショットの両方を有効にする必要があります。",
+ "desc": "Frigate+ への送信には、設定でスナップショットを有効にする必要があります。",
"cleanCopyWarning": "一部のカメラではスナップショット機能が無効になっています",
"table": {
"camera": "カメラ",
@@ -771,14 +846,30 @@
"error": "モデル情報の読み込みに失敗しました",
"availableModels": "利用可能なモデル",
"loadingAvailableModels": "利用可能なモデルを読み込み中…",
- "modelSelect": "ここで Frigate+ 上の利用可能なモデルを選択できます。現在の検出器構成と互換性のあるモデルのみ選択可能です。"
+ "modelSelect": "ここで Frigate+ 上の利用可能なモデルを選択できます。現在の検出器構成と互換性のあるモデルのみ選択可能です。",
+ "noModelLoaded": "Frigate+ モデルは現在読み込まれていません。",
+ "selectModel": "モデルを選択",
+ "noModelsAvailable": "利用可能なモデルがありません",
+ "filter": {
+ "ariaLabel": "モデルをタイプで絞り込み",
+ "baseModels": "ベースモデル",
+ "fineTunedModels": "ファインチューニング済みモデル"
+ }
},
"unsavedChanges": "未保存の Frigate+ 設定の変更",
"restart_required": "再起動が必要です(Frigate+ モデルを変更)",
"toast": {
"success": "Frigate+ 設定を保存しました。変更を適用するには Frigate を再起動してください。",
"error": "設定変更の保存に失敗しました: {{errorMessage}}"
- }
+ },
+ "description": "Frigate+ はサブスクリプションサービスで、独自データで学習させたカスタム物体検知モデルなど、Frigate インスタンスに追加機能を提供します。Frigate+ モデルの設定はここから管理できます。",
+ "cardTitles": {
+ "api": "API",
+ "currentModel": "現在のモデル",
+ "otherModels": "その他のモデル",
+ "configuration": "設定"
+ },
+ "changeInDetectorsAndModel": "モデルを変更"
},
"triggers": {
"documentTitle": "トリガー",
@@ -788,7 +879,7 @@
},
"addTrigger": "トリガーを追加",
"table": {
- "name": "名称",
+ "name": "名前",
"type": "タイプ",
"content": "コンテンツ",
"threshold": "しきい値",
@@ -823,7 +914,7 @@
},
"form": {
"name": {
- "title": "名称",
+ "title": "名前",
"placeholder": "トリガー名を入力",
"error": {
"minLength": "この項目は2文字以上で入力してください。",
@@ -838,15 +929,15 @@
"type": {
"title": "タイプ",
"placeholder": "トリガータイプを選択",
- "description": "類似した追跡オブジェクトの説明が検出されたときにトリガー",
- "thumbnail": "類似した追跡オブジェクトのサムネイルが検出されたときにトリガー"
+ "description": "類似した追跡オブジェクトの説明が検知されたときにトリガー",
+ "thumbnail": "類似した追跡オブジェクトのサムネイルが検知されたときにトリガー"
},
"content": {
"title": "コンテンツ",
"imagePlaceholder": "サムネイルを選択",
"textPlaceholder": "テキストを入力",
"imageDesc": "最新のサムネイル100件のみが表示されます。目的のサムネイルが見つからない場合は、探索で過去のオブジェクトを確認し、そこのメニューからトリガーを設定してください。",
- "textDesc": "類似する追跡オブジェクトの説明が検出されたときにこのアクションをトリガーするためのテキストを入力します。",
+ "textDesc": "類似する追跡オブジェクトの説明が検知されたときにこのアクションをトリガーするためのテキストを入力します。",
"error": {
"required": "コンテンツは必須です。"
}
@@ -860,7 +951,7 @@
"desc": "このトリガーの類似度しきい値を設定します。値が高いほど、より近い一致が必要になります。"
},
"actions": {
- "title": "アクション",
+ "title": "操作",
"desc": "デフォルトでは、Frigate はすべてのトリガーに対して MQTT メッセージを送信します。サブラベルは、トリガー名をオブジェクトのラベルに追加します。属性(Attributes)は、追跡オブジェクトのメタデータとは別に保存される検索可能なメタデータです。",
"error": {
"min": "少なくとも1つのアクションを選択してください。"
@@ -961,7 +1052,7 @@
"quality": "品質",
"selectQuality": "品質を選択",
"roleLabels": {
- "detect": "物体検出",
+ "detect": "物体検知",
"record": "録画",
"audio": "音声"
},
@@ -973,12 +1064,12 @@
"notConnected": "未接続",
"featuresTitle": "機能",
"go2rtc": "カメラへの接続数を削減",
- "detectRoleWarning": "続行するには、少なくとも 1 つのストリームに「検出」ロールが必要です。",
+ "detectRoleWarning": "続行するには、少なくとも 1 つのストリームに「検知」ロールが必要です。",
"rolesPopover": {
"title": "ストリーム ロール",
- "detect": "物体検出用のメイン フィードです。",
+ "detect": "物体検知用のメイン フィードです。",
"record": "設定に基づいて映像フィードのセグメントを保存します。",
- "audio": "音声ベース検出用のフィードです。"
+ "audio": "音声ベース検知用のフィードです。"
},
"featuresPopover": {
"title": "ストリーム機能",
@@ -999,8 +1090,8 @@
},
"testResultLabels": {
"resolution": "解像度",
- "video": "ビデオ",
- "audio": "オーディオ",
+ "video": "映像",
+ "audio": "音声",
"fps": "FPS"
},
"commonErrors": {
@@ -1008,7 +1099,7 @@
"testFailed": "ストリームテストに失敗しました: {{error}}"
},
"step1": {
- "description": "カメラの詳細を入力し、カメラを自動検出するか、メーカーを手動で選択してください。",
+ "description": "カメラの詳細を入力し、カメラを自動検知するか、メーカーを手動で選択してください。",
"cameraName": "カメラ名",
"cameraNamePlaceholder": "例: front_door または Back Yard Overview",
"host": "ホスト/IP アドレス",
@@ -1040,23 +1131,23 @@
"brands": {
"reolink-rtsp": "Reolink の RTSP は推奨されません。カメラ設定で http を有効にし、カメラウィザードを再起動することを推奨します。"
},
- "customUrlRtspRequired": "カスタム URL は「rtsp://」で始まる必要があります。非 RTSP カメラ ストリームの場合は手動構成が必要です。"
+ "customUrlRtspRequired": "カスタムURLは「rtsp://」または「rtsps://」で始まる必要があります。RTSP以外のカメラストリームについては、手動での設定が必要です。"
},
"docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
},
"connectionSettings": "接続設定",
- "detectionMethod": "ストリーム検出方法",
+ "detectionMethod": "ストリーム検知方法",
"onvifPort": "ONVIF ポート",
"probeMode": "カメラをプローブ",
"manualMode": "手動選択",
"useDigestAuth": "ダイジェスト認証を使用",
"useDigestAuthDescription": "ONVIF に HTTP ダイジェスト認証を使用します。一部のカメラでは、通常の管理者ユーザーではなく専用の ONVIF ユーザー名/パスワードが必要な場合があります。",
- "detectionMethodDescription": "(対応している場合)ONVIF を使用してカメラを自動設定し、カメラのストリーム URL を検出するか、カメラのブランドを手動で選択して事前定義された URL を使用します。カスタム RTSP URL を入力する場合は、手動設定を選択し、「その他」を選んでください。",
+ "detectionMethodDescription": "(対応している場合)ONVIF を使用してカメラを自動設定し、カメラのストリーム URL を検知するか、カメラのブランドを手動で選択して事前定義された URL を使用します。カスタム RTSP URL を入力する場合は、手動設定を選択し、「その他」を選んでください。",
"onvifPortDescription": "ONVIF に対応しているカメラの場合、通常は 80 または 8080 です。"
},
"step2": {
- "description": "選択した検出方法に応じて、カメラから利用可能なストリームを自動検出するか、手動で設定してください。",
+ "description": "選択した検知方法に応じて、カメラから利用可能なストリームを自動検知するか、手動で設定してください。",
"streamsTitle": "カメラストリーム",
"addStream": "ストリームを追加",
"addAnotherStream": "ストリームをさらに追加",
@@ -1156,9 +1247,9 @@
"videoCodecGood": "ビデオ コーデックは {{codec}} です。",
"audioCodecGood": "オーディオ コーデックは {{codec}} です。",
"resolutionHigh": "解像度 {{resolution}} はリソース使用量が増加する可能性があります。",
- "resolutionLow": "解像度 {{resolution}} は小さなオブジェクトを確実に検出するには低すぎる可能性があります。",
+ "resolutionLow": "解像度 {{resolution}} は小さなオブジェクトを確実に検知するには低すぎる可能性があります。",
"audioCodecRecordError": "録画で音声をサポートするには AAC オーディオ コーデックが必要です。",
- "audioCodecRequired": "音声検出をサポートするには音声ストリームが必要です。",
+ "audioCodecRequired": "音声検知をサポートするには音声ストリームが必要です。",
"restreamingWarning": "録画用ストリームでカメラへの接続数を削減すると、CPU 使用率がわずかに増加する場合があります。",
"brands": {
"reolink-rtsp": "Reolink の RTSP は推奨されません。カメラのファームウェア設定で HTTP を有効にし、ウィザードを再起動してください。",
@@ -1170,7 +1261,8 @@
"hikvision": {
"substreamWarning": "サブストリーム 1 は低解像度に固定されています。多くの Hikvision カメラは追加のサブストリームをサポートしており、カメラ設定で有効化する必要があります。利用可能であればそれらのストリームを使用することを推奨します。"
},
- "noAudioWarning": "このストリームでは音声が検出されていません。録画には音声が含まれません。"
+ "noAudioWarning": "このストリームでは音声が検知されていません。録画には音声が含まれません。",
+ "resolutionUnknown": "このストリームの解像度を取得できませんでした。設定画面または設定ファイルで検知解像度を手動で指定してください。"
},
"ffmpegModuleDescription": "何度か試してもストリームが読み込まれない場合は、このオプションを有効にしてください。有効にすると、Frigate は go2rtc と併用して ffmpeg モジュールを使用します。一部のカメラストリームでは、互換性が向上する場合があります。"
}
@@ -1183,7 +1275,30 @@
"backToSettings": "カメラ設定に戻る",
"streams": {
"title": "カメラの有効化/無効化",
- "desc": "Frigate を再起動するまで一時的にカメラを無効化します。無効化すると、このカメラのストリーム処理は完全に停止し、検出・録画・デバッグは利用できません。
注: これは go2rtc のリストリームを無効にはしません。"
+ "desc": "Frigate を再起動するまで一時的にカメラを無効化します。無効化すると、このカメラのストリーム処理は完全に停止し、検出・録画・デバッグは利用できません。
注: これは go2rtc のリストリームを無効にはしません。",
+ "label": "カメラの状態",
+ "description": "各カメラの動作状態を設定します。
オン: ストリームを通常通り処理します。
オフ: 処理を一時停止します。Frigate の再起動後は保持されません。
無効: 処理を停止し、設定ファイルに保存されます。再有効化には再起動が必要です。
注: 無効化しても go2rtc のリストリームには影響しません。
ハンドルをドラッグすると、ライブダッシュボードやカメラ選択ドロップダウンなど、UI 内のアクティブなカメラの並び順を変更できます。",
+ "disabledSubheading": "設定で無効化されています",
+ "status": {
+ "on": "オン",
+ "off": "オフ",
+ "disabled": "無効"
+ },
+ "enableSuccess": "{{cameraName}} を有効にしました。適用するには Frigate を再起動してください。",
+ "disableSuccess": "{{cameraName}} を無効化し、設定に保存しました。",
+ "reorderHandle": "ドラッグで並び替え",
+ "saving": "保存中…",
+ "saved": "保存しました",
+ "details": {
+ "edit": "カメラ詳細を編集",
+ "title": "カメラ詳細を編集",
+ "description": "このカメラの表示名と外部 URL を更新します。Frigate UI 全体で使用されます。",
+ "friendlyNameLabel": "表示名",
+ "friendlyNameHelp": "Frigate UI 全体でこのカメラに表示される名前です。空欄にするとカメラ ID が使用されます。",
+ "webuiUrlLabel": "カメラ Web UI の URL",
+ "webuiUrlHelp": "デバッグビューからカメラの Web UI に直接アクセスするための URL です。空欄にするとリンクが無効になります。",
+ "webuiUrlInvalid": "有効な URL を入力してください (例: https://example.com)。"
+ }
},
"cameraConfig": {
"add": "カメラを追加",
@@ -1213,6 +1328,117 @@
"toast": {
"success": "カメラ {{cameraName}} を保存しました"
}
+ },
+ "description": "カメラの追加・編集・削除、各カメラの状態管理、プロファイル別やカメラタイプ別の上書き設定を行えます。ストリーム、検知、モーションなどカメラ固有の設定は、カメラ設定セクション内の各項目から行ってください。",
+ "deleteCamera": "カメラを削除",
+ "deleteCameraDialog": {
+ "title": "カメラを削除",
+ "description": "カメラを削除すると、そのカメラのすべての録画、追跡オブジェクト、設定が完全に削除されます。このカメラに関連する go2rtc ストリームは手動で削除が必要な場合があります。",
+ "selectPlaceholder": "カメラを選択...",
+ "confirmTitle": "本当によろしいですか?",
+ "confirmWarning": "{{cameraName}} の削除は元に戻せません。",
+ "deleteExports": "このカメラのエクスポートも削除する",
+ "confirmButton": "完全に削除",
+ "success": "カメラ {{cameraName}} を削除しました",
+ "error": "カメラ {{cameraName}} の削除に失敗しました"
+ },
+ "profiles": {
+ "title": "プロファイル別カメラ上書き設定",
+ "selectLabel": "プロファイルを選択",
+ "description": "プロファイルが有効化されたときに、各カメラをオン/オフのどちらにするかを設定します。「継承」に設定されたカメラはデフォルトの状態を維持します。",
+ "inherit": "継承",
+ "on": "オン",
+ "off": "オフ"
+ },
+ "cameraType": {
+ "title": "カメラタイプ",
+ "label": "カメラタイプ",
+ "description": "各カメラのタイプを設定します。専用 LPR カメラは、遠方の車両のナンバープレートを捉えるために強力な光学ズームを備えた専用カメラです。LPR 専用かつナンバープレートに焦点を絞った設置でない限り、通常は「Normal」を使用してください。",
+ "normal": "通常",
+ "dedicatedLpr": "専用 LPR",
+ "saveSuccess": "{{cameraName}} のカメラタイプを更新しました。変更を適用するには Frigate を再起動してください。"
+ },
+ "clone": {
+ "sectionTitle": "設定を複製",
+ "sectionDescription": "あるカメラの設定を、別のカメラまたは新しいカメラにコピーします。",
+ "button": "設定を複製",
+ "title": "カメラ設定を複製",
+ "description": "あるカメラの設定を、1台以上の他のカメラまたは新しいカメラにコピーします。識別情報(名前、フレンドリーネーム、Web UI URL、表示順序)はコピーされません。",
+ "source": {
+ "label": "ソースカメラ",
+ "placeholder": "ソースカメラを選択",
+ "required": "ソースカメラを選択"
+ },
+ "target": {
+ "legend": "ターゲット",
+ "newRadio": "新しいカメラ",
+ "newNameLabel": "カメラ名",
+ "newNamePlaceholder": "例:back_door または Back Door",
+ "newNameRequired": "カメラ名は必須です",
+ "newNameInvalid": "無効なカメラ名です",
+ "newNameCollision": "この名前のカメラは既に存在します",
+ "newStreamsForced": "新しいカメラには、常にストリームがコピーされます。",
+ "existingCamerasRadio": "既存のカメラ",
+ "allCameras": "すべてのカメラ",
+ "existingPlaceholder": "少なくとも1台のカメラを選択",
+ "existingDisabled": "コピー先のカメラがありません"
+ },
+ "categories": {
+ "legend": "クローンする設定",
+ "description": "ソースカメラからコピーする設定を選択します。",
+ "selectAll": "すべて選択",
+ "selectNone": "選択解除",
+ "resetDefaults": "デフォルトにリセット",
+ "general": "一般",
+ "spatial": "空間設定",
+ "streams": "ストリーム",
+ "spatialWarningTitle": "解像度の不一致",
+ "spatialWarning": "ソースカメラ {{srcCamera}} の検出解像度 ({{srcWidth}}×{{srcHeight}}) は {{cameras}} と異なります。これらのカメラではポリゴンが一致しない可能性があります。これらのデフォルト設定はオフになっています。そのままコピーするには有効にしてください。",
+ "restartHint": "再起動が必要",
+ "items": {
+ "record": "録画",
+ "snapshots": "スナップショット",
+ "review": "再生",
+ "motion": "動体検知",
+ "objects": "物体",
+ "audio": "音声検知",
+ "audio_transcription": "音声文字起こし",
+ "notifications": "通知",
+ "birdseye": "バードアイ",
+ "mqtt": "MQTT",
+ "timestamp_style": "タイムスタンプ形式",
+ "onvif": "ONVIF",
+ "lpr": "ナンバープレート認識",
+ "face_recognition": "顔認識",
+ "semantic_search": "セマンティック検索",
+ "genai": "生成AI",
+ "type": "カメラタイプ(通常 / 専用LPR)",
+ "profiles": "プロファイル",
+ "detect": "サイズ検出",
+ "zones": "ゾーン",
+ "motion_mask": "動きマスク",
+ "object_masks": "オブジェクトマスク",
+ "ffmpeg_live": "ストリームURLとロール"
+ }
+ },
+ "footer": {
+ "changeCount_other": "{{count}}件の変更が適用されます",
+ "restartNeeded": "一部の変更には再起動が必要です。",
+ "liveOnly": "すべての変更は再起動なしで即時適用されます。",
+ "submit": "クローン",
+ "submitting": "クローン作成中…"
+ },
+ "toast": {
+ "success": "設定が {{cameraName}} にコピーされました",
+ "successWithRestart": "設定が {{cameraName}} にコピーされました。すべての変更を適用するには、Frigate を再起動してください。",
+ "successMulti_other": "設定が {{count}} 台のカメラにコピーされました",
+ "successMultiWithRestart_other": "設定が {{count}} 台のカメラにコピーされました。すべての変更を適用するには、Frigate を再起動してください。",
+ "partialFailure": "{{successCount}} セクションが適用されました。「{{failedSection}}」で失敗しました: {{errorMessage}}",
+ "partialFailureMulti": "{{successCount}} 台のカメラにコピーされました。{{failed}} で失敗しました: {{errorMessage}}",
+ "newCameraPartialFailure": "カメラ {{cameraName}} が作成されましたが、一部の設定のコピーに失敗しました: {{errorMessage}}",
+ "sourceMissing": "ソースカメラが存在しません",
+ "submitError": "カメラのクローン作成に失敗しました: {{errorMessage}}"
+ }
}
},
"cameraReview": {
@@ -1227,26 +1453,26 @@
},
"review": {
"title": "レビュー",
- "desc": "Frigate を再起動するまで、このカメラのアラートと検出を一時的に有効/無効にします。無効にすると、新しいレビュー項目は生成されません。 ",
+ "desc": "Frigate を再起動するまで、このカメラのアラートと検知を一時的に有効/無効にします。無効にすると、新しいレビュー項目は生成されません。 ",
"alerts": "アラート ",
- "detections": "検出 "
+ "detections": "検知 "
},
"reviewClassification": {
"title": "レビュー分類",
- "desc": "Frigate はレビュー項目をアラートと検出に分類します。既定では、すべての person と car オブジェクトはアラートとして扱われます。必須ゾーンを設定することで、分類をより細かく調整できます。",
+ "desc": "Frigate はレビュー項目をアラートと検知に分類します。既定では、すべての person と car オブジェクトはアラートとして扱われます。必須ゾーンを設定することで、分類をより細かく調整できます。",
"noDefinedZones": "このカメラにはゾーンが定義されていません。",
"objectAlertsTips": "すべての {{alertsLabels}} オブジェクトは {{cameraName}} でアラートとして表示されます。",
- "zoneObjectAlertsTips": "{{cameraName}} の {{zone}} で検出されたすべての {{alertsLabels}} オブジェクトはアラートとして表示されます。",
- "objectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検出として表示されます。",
+ "zoneObjectAlertsTips": "{{cameraName}} の {{zone}} で検知されたすべての {{alertsLabels}} オブジェクトはアラートとして表示されます。",
+ "objectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検知として表示されます。",
"zoneObjectDetectionsTips": {
- "text": "{{cameraName}} の {{zone}} で分類されていないすべての {{detectionsLabels}} オブジェクトは検出として表示されます。",
- "notSelectDetections": "{{cameraName}} の {{zone}} で検出され、アラートに分類されなかったすべての {{detectionsLabels}} オブジェクトは、ゾーンに関係なく検出として表示されます。",
- "regardlessOfZoneObjectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検出として表示されます。"
+ "text": "{{cameraName}} の {{zone}} で分類されていないすべての {{detectionsLabels}} オブジェクトは検知として表示されます。",
+ "notSelectDetections": "{{cameraName}} の {{zone}} で検知され、アラートに分類されなかったすべての {{detectionsLabels}} オブジェクトは、ゾーンに関係なく検知として表示されます。",
+ "regardlessOfZoneObjectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検知として表示されます。"
},
"unsavedChanges": "未保存のレビュー分類設定({{camera}})",
"selectAlertsZones": "アラート用のゾーンを選択",
- "selectDetectionsZones": "検出用のゾーンを選択",
- "limitDetections": "特定のゾーンに検出を限定する",
+ "selectDetectionsZones": "検知用のゾーンを選択",
+ "limitDetections": "特定のゾーンに検知を限定する",
"toast": {
"success": "レビュー分類の設定を保存しました。変更を適用するには Frigate を再起動してください。"
}
@@ -1255,8 +1481,61 @@
"maintenance": {
"sync": {
"status": {
- "queued": "キューに追加済み"
- }
+ "queued": "キューに追加済み",
+ "running": "実行中",
+ "completed": "完了",
+ "failed": "失敗",
+ "notRunning": "実行されていません"
+ },
+ "title": "メディア同期",
+ "desc": "Frigate は保持設定に従って定期的にメディアを整理します。動作中に孤立ファイルが少数発生するのは正常です。この機能を使うと、データベース上で参照されなくなった孤立メディアファイルをディスクから削除できます。",
+ "started": "メディア同期を開始しました。",
+ "alreadyRunning": "同期ジョブはすでに実行中です",
+ "error": "同期の開始に失敗しました",
+ "currentStatus": "ステータス",
+ "jobId": "ジョブ ID",
+ "startTime": "開始時刻",
+ "endTime": "終了時刻",
+ "statusLabel": "ステータス",
+ "results": "結果",
+ "errorLabel": "エラー",
+ "mediaTypes": "メディアタイプ",
+ "allMedia": "すべてのメディア",
+ "dryRun": "ドライラン",
+ "dryRunEnabled": "ファイルは削除されません",
+ "dryRunDisabled": "ファイルは削除されます",
+ "force": "強制実行",
+ "forceDesc": "安全しきい値を無視して、削除対象がファイル全体の 50% を超えても同期を完了します。",
+ "verbose": "詳細出力",
+ "verboseDesc": "孤立ファイルの全リストを確認用にディスクに書き出します。",
+ "running": "同期実行中...",
+ "start": "同期を開始",
+ "inProgress": "同期実行中です。このページは現在操作できません。",
+ "resultsFields": {
+ "filesChecked": "確認済みファイル数",
+ "orphansFound": "検知された孤立ファイル数",
+ "orphansDeleted": "削除した孤立ファイル数",
+ "aborted": "中断しました。削除が安全しきい値を超過するためです。",
+ "error": "エラー",
+ "totals": "合計"
+ },
+ "event_snapshots": "追跡オブジェクトのスナップショット",
+ "event_thumbnails": "追跡オブジェクトのサムネイル",
+ "review_thumbnails": "レビューのサムネイル",
+ "previews": "プレビュー",
+ "exports": "エクスポート",
+ "recordings": "録画"
+ },
+ "title": "メンテナンス",
+ "regionGrid": {
+ "title": "リージョングリッド",
+ "desc": "リージョングリッドは、各カメラの画角内でさまざまなサイズのオブジェクトが通常出現する位置を学習する最適化機能です。Frigate はこのデータをもとに検知領域のサイズを効率化します。グリッドは追跡オブジェクトのデータから時間をかけて自動的に構築されます。",
+ "clear": "リージョングリッドをクリア",
+ "clearConfirmTitle": "リージョングリッドをクリア",
+ "clearConfirmDesc": "リージョングリッドのクリアは、検出器のモデルサイズを最近変更した場合や、カメラの物理的な位置を変更してオブジェクト追跡に問題がある場合を除き、推奨されません。追跡が進むにつれて自動的に再構築されます。変更を反映するには Frigate の再起動が必要です。",
+ "clearSuccess": "リージョングリッドをクリアしました",
+ "clearError": "リージョングリッドのクリアに失敗しました",
+ "restartRequired": "リージョングリッドの変更を反映するには再起動が必要です"
}
},
"button": {
@@ -1270,6 +1549,544 @@
"heading_other": "このグローバルセクションには、{{count}} 台のカメラで上書きされているフィールドがあります。",
"othersField_other": "{{count}} その他",
"profilePrefix": "{{profile}} プロファイル: {{fields}}"
+ },
+ "overriddenGlobalHeading_other": "このカメラはグローバル設定のうち {{count}} 項目を上書きしています:",
+ "overriddenGlobalNoDeltas": "このカメラはグローバル設定を上書きしていますが、値が異なる項目はありません。",
+ "overriddenBaseConfigHeading_other": "{{profile}} プロファイルはベース設定のうち {{count}} 項目を上書きしています:",
+ "overriddenBaseConfigNoDeltas": "{{profile}} プロファイルはこのセクションを上書きしていますが、ベース設定と異なる値はありません。"
+ },
+ "menuDot": {
+ "overrideGlobal": "このセクションはグローバル設定を上書きします",
+ "overrideProfile": "このセクションは {{profile}} プロファイルによって上書きされます",
+ "unsaved": "このセクションには未保存の変更があります"
+ },
+ "saveAllPreview": {
+ "title": "保存対象の変更",
+ "triggerLabel": "保留中の変更を確認",
+ "empty": "保留中の変更はありません。",
+ "scope": {
+ "label": "対象範囲",
+ "global": "グローバル",
+ "camera": "カメラ: {{cameraName}}"
+ },
+ "profile": {
+ "label": "プロファイル"
+ },
+ "field": {
+ "label": "項目"
+ },
+ "value": {
+ "label": "新しい値",
+ "reset": "リセット"
+ }
+ },
+ "timestampPosition": {
+ "tl": "左上",
+ "tr": "右上",
+ "bl": "左下",
+ "br": "右下"
+ },
+ "detectorsAndModel": {
+ "title": "検出器とモデル",
+ "description": "物体検知を実行する検出器のバックエンドと、使用するモデルを設定します。検出器とモデルが同期するよう、変更は一括で保存されます。",
+ "cardTitles": {
+ "detector": "検出器ハードウェア",
+ "model": "検知モデル"
+ },
+ "tabs": {
+ "plus": "Frigate+",
+ "custom": "カスタムモデル"
+ },
+ "mismatch": {
+ "warning": "現在の Frigate+ モデル「{{model}}」は {{required}} 検出器が必要です。下から対応するモデルを選ぶか、保存前にカスタムモデルへ切り替えてください。"
+ },
+ "plusModel": {
+ "requiresDetector": "必要な検出器: {{detector}}",
+ "noModelSelected": "Frigate+ モデルを選択"
+ },
+ "toast": {
+ "saveSuccess": "検出器とモデルの設定を保存しました。変更を適用するには Frigate を再起動してください。",
+ "saveError": "検出器とモデルの設定の保存に失敗しました"
+ },
+ "unsavedChanges": "検出器・モデルに未保存の変更があります",
+ "restartRequired": "再起動が必要です(検出器またはモデルが変更されました)"
+ },
+ "configForm": {
+ "global": {
+ "title": "グローバル設定",
+ "description": "これらの設定は、カメラ固有の設定で上書きされない限り、全カメラに適用されます。"
+ },
+ "camera": {
+ "title": "カメラ設定",
+ "description": "これらの設定はこのカメラにのみ適用され、グローバル設定を上書きします。",
+ "noCameras": "利用可能なカメラがありません"
+ },
+ "advancedSettingsCount": "詳細設定 ({{count}})",
+ "advancedCount": "詳細 ({{count}})",
+ "showAdvanced": "詳細設定を表示",
+ "tabs": {
+ "sharedDefaults": "共通デフォルト",
+ "system": "システム",
+ "integrations": "連携"
+ },
+ "additionalProperties": {
+ "keyLabel": "キー",
+ "valueLabel": "値",
+ "keyPlaceholder": "新しいキー",
+ "remove": "削除"
+ },
+ "knownPlates": {
+ "namePlaceholder": "例: 妻の車",
+ "platePlaceholder": "ナンバーまたは正規表現"
+ },
+ "timezone": {
+ "defaultOption": "ブラウザのタイムゾーンを使用"
+ },
+ "roleMap": {
+ "empty": "ロールマッピングがありません",
+ "roleLabel": "ロール",
+ "groupsLabel": "グループ",
+ "addMapping": "ロールマッピングを追加",
+ "remove": "削除"
+ },
+ "ffmpegArgs": {
+ "preset": "プリセット",
+ "manual": "手動で引数指定",
+ "inherit": "カメラ設定から継承",
+ "none": "なし",
+ "useGlobalSetting": "グローバル設定から継承",
+ "selectPreset": "プリセットを選択",
+ "manualPlaceholder": "FFmpeg 引数を入力",
+ "presetLabels": {
+ "preset-rpi-64-h264": "Raspberry Pi (H.264)",
+ "preset-rpi-64-h265": "Raspberry Pi (H.265)",
+ "preset-vaapi": "VAAPI (Intel/AMD GPU)",
+ "preset-intel-qsv-h264": "Intel QuickSync (H.264)",
+ "preset-intel-qsv-h265": "Intel QuickSync (H.265)",
+ "preset-nvidia": "NVIDIA GPU",
+ "preset-jetson-h264": "NVIDIA Jetson (H.264)",
+ "preset-jetson-h265": "NVIDIA Jetson (H.265)",
+ "preset-rkmpp": "Rockchip RKMPP",
+ "preset-http-jpeg-generic": "HTTP JPEG (汎用)",
+ "preset-http-mjpeg-generic": "HTTP MJPEG (汎用)",
+ "preset-http-reolink": "HTTP - Reolink カメラ",
+ "preset-rtmp-generic": "RTMP (汎用)",
+ "preset-rtsp-generic": "RTSP (汎用)",
+ "preset-rtsp-restream": "RTSP - go2rtc からのリストリーム",
+ "preset-rtsp-restream-low-latency": "RTSP - go2rtc からのリストリーム (低遅延)",
+ "preset-rtsp-udp": "RTSP - UDP",
+ "preset-rtsp-blue-iris": "RTSP - Blue Iris",
+ "preset-record-generic": "録画 (汎用、音声なし)",
+ "preset-record-generic-audio-copy": "録画 (汎用 + 音声コピー)",
+ "preset-record-generic-audio-aac": "録画 (汎用 + 音声を AAC に変換)",
+ "preset-record-mjpeg": "録画 - MJPEG カメラ",
+ "preset-record-jpeg": "録画 - JPEG カメラ",
+ "preset-record-ubiquiti": "録画 - Ubiquiti カメラ"
+ }
+ },
+ "cameraInputs": {
+ "itemTitle": "ストリーム {{index}}"
+ },
+ "restartRequiredField": "再起動が必要",
+ "restartRequiredFooter": "設定が変更されました - 再起動が必要です",
+ "sections": {
+ "detect": "検知",
+ "record": "録画",
+ "snapshots": "スナップショット",
+ "motion": "モーション",
+ "objects": "オブジェクト",
+ "review": "レビュー",
+ "audio": "音声",
+ "notifications": "通知",
+ "live": "ライブビュー",
+ "timestamp_style": "タイムスタンプ",
+ "mqtt": "MQTT",
+ "database": "データベース",
+ "telemetry": "テレメトリ",
+ "auth": "認証",
+ "tls": "TLS",
+ "proxy": "プロキシ",
+ "go2rtc": "go2rtc",
+ "ffmpeg": "FFmpeg",
+ "detectors": "検出器",
+ "model": "モデル",
+ "semantic_search": "セマンティック検索",
+ "genai": "生成AI",
+ "face_recognition": "顔認識",
+ "lpr": "ナンバープレート認識",
+ "birdseye": "バードアイ",
+ "masksAndZones": "マスク / ゾーン"
+ },
+ "detect": {
+ "title": "検知設定"
+ },
+ "detectors": {
+ "title": "検出器設定",
+ "singleType": "{{type}} 検出器は 1 つしか追加できません。",
+ "keyRequired": "検出器名は必須です。",
+ "keyDuplicate": "この検出器名は既に存在します。",
+ "noSchema": "利用可能な検出器スキーマがありません。",
+ "none": "検出器インスタンスが設定されていません。",
+ "add": "検出器を追加",
+ "addCustomKey": "カスタムキーを追加"
+ },
+ "record": {
+ "title": "録画設定"
+ },
+ "snapshots": {
+ "title": "スナップショット設定"
+ },
+ "motion": {
+ "title": "モーション設定"
+ },
+ "objects": {
+ "title": "オブジェクト設定"
+ },
+ "audioLabels": {
+ "summary": "{{count}} 件の音声ラベルが選択されています",
+ "empty": "利用可能な音声ラベルがありません"
+ },
+ "objectLabels": {
+ "summary": "{{count}} 種類のオブジェクトタイプが選択されています",
+ "empty": "利用可能なオブジェクトラベルがありません"
+ },
+ "reviewLabels": {
+ "summary": "{{count}} 件のラベルが選択されています",
+ "empty": "利用可能なラベルがありません"
+ },
+ "filters": {
+ "objectFieldLabel": "{{label}} の {{field}}"
+ },
+ "zoneNames": {
+ "summary": "{{count}} 件選択",
+ "empty": "利用可能なゾーンがありません"
+ },
+ "inputRoles": {
+ "summary": "{{count}} 件のロールが選択されています",
+ "empty": "利用可能なロールがありません",
+ "options": {
+ "detect": "検知",
+ "record": "録画",
+ "audio": "音声"
+ }
+ },
+ "genaiRoles": {
+ "options": {
+ "embeddings": "埋め込み",
+ "descriptions": "説明",
+ "chat": "チャット"
+ }
+ },
+ "semanticSearchModel": {
+ "placeholder": "モデルを選択…",
+ "builtIn": "組み込みモデル",
+ "genaiProviders": "生成AIプロバイダ"
+ },
+ "semanticSearchModelSize": {
+ "notApplicable": "生成AIプロバイダには適用されません"
+ },
+ "review": {
+ "title": "レビュー設定"
+ },
+ "audio": {
+ "title": "音声設定"
+ },
+ "notifications": {
+ "title": "通知設定"
+ },
+ "live": {
+ "title": "ライブビュー設定"
+ },
+ "timestamp_style": {
+ "title": "タイムスタンプ設定"
+ },
+ "searchPlaceholder": "検索...",
+ "addCustomLabel": "カスタムラベルを追加...",
+ "genaiModel": {
+ "placeholder": "モデルを選択または入力…",
+ "search": "モデルを検索または入力…",
+ "noModels": "利用可能なモデルがありません",
+ "available": "利用可能なモデル",
+ "useCustom": "「{{value}}」を使用",
+ "refresh": "モデルを更新",
+ "probeFailed": "モデルの取得に失敗しました",
+ "fetchedModels": "モデル一覧を取得しました"
+ },
+ "liveStreams": {
+ "streamNameLabel": "ストリーム名",
+ "streamNamePlaceholder": "例: Main HD Stream",
+ "go2rtcStreamLabel": "go2rtc ストリーム",
+ "go2rtcStreamPlaceholder": "go2rtc ストリームを選択してください",
+ "go2rtcStreamSearch": "ストリーム名を検索または入力してください…",
+ "noGo2rtcStreams": "設定済みの go2rtc ストリームはありません",
+ "availableStreams": "利用可能なストリーム",
+ "useCustom": "\"{{value}}\"を使用",
+ "addStream": "ストリームを追加"
+ },
+ "ptzPresets": {
+ "placeholder": "プリセットを選択または入力してください...",
+ "search": "検索またはプリセットを入力してください...",
+ "noPresets": "プリセットはありません",
+ "available": "カメラプリセット",
+ "useCustom": "\"{{value}}\" を使用してください"
+ },
+ "defaultRole": {
+ "admin": "管理者",
+ "viewer": "閲覧者"
+ }
+ },
+ "globalConfig": {
+ "title": "グローバル設定",
+ "description": "上書きされない限り全カメラに適用されるグローバル設定を行います。",
+ "toast": {
+ "success": "グローバル設定を保存しました",
+ "error": "グローバル設定の保存に失敗しました",
+ "validationError": "入力検証に失敗しました"
+ }
+ },
+ "cameraConfig": {
+ "title": "カメラ設定",
+ "description": "個別のカメラの設定を行います。グローバルのデフォルトを上書きします。",
+ "overriddenBadge": "上書き済み",
+ "resetToGlobal": "グローバル設定にリセット",
+ "toast": {
+ "success": "カメラ設定を保存しました",
+ "error": "カメラ設定の保存に失敗しました"
+ }
+ },
+ "toast": {
+ "success": "設定を保存しました",
+ "applied": "設定を適用しました",
+ "successRestartRequired": "設定を保存しました。変更を適用するには Frigate を再起動してください。",
+ "error": "設定の保存に失敗しました",
+ "validationError": "入力検証に失敗しました: {{message}}",
+ "resetSuccess": "グローバルのデフォルトにリセットしました",
+ "resetError": "設定のリセットに失敗しました",
+ "saveAllSuccess_other": "{{count}} 件のセクションをすべて保存しました。",
+ "saveAllSuccessRestartRequired_other": "{{count}} 件のセクションをすべて保存しました。変更を適用するには Frigate を再起動してください。",
+ "saveAllPartial_other": "{{totalCount}} 件中 {{successCount}} 件のセクションを保存しました。{{failCount}} 件失敗。",
+ "saveAllFailure": "すべてのセクションの保存に失敗しました。"
+ },
+ "profiles": {
+ "title": "プロファイル",
+ "activeProfile": "アクティブなプロファイル",
+ "noActiveProfile": "アクティブなプロファイルなし",
+ "active": "アクティブ",
+ "activated": "プロファイル「{{profile}}」を有効化しました",
+ "activateFailed": "プロファイルの設定に失敗しました",
+ "deactivated": "プロファイルを無効化しました",
+ "noProfiles": "プロファイルが定義されていません。",
+ "noOverrides": "上書きなし",
+ "cameraCount_other": "{{count}} 台のカメラ",
+ "columnCamera": "カメラ",
+ "columnOverrides": "プロファイルの上書き",
+ "baseConfig": "ベース設定",
+ "addProfile": "プロファイルを追加",
+ "newProfile": "新しいプロファイル",
+ "profileNamePlaceholder": "例: 在宅、外出、夜間モード",
+ "friendlyNameLabel": "プロファイル名",
+ "profileIdLabel": "プロファイル ID",
+ "profileIdDescription": "設定や自動化で使用される内部 ID です",
+ "nameInvalid": "使用できるのは小文字、数字、アンダースコアのみです",
+ "nameDuplicate": "この名前のプロファイルは既に存在します",
+ "error": {
+ "mustBeAtLeastTwoCharacters": "2 文字以上で入力してください",
+ "mustNotContainPeriod": "ピリオドは使用できません",
+ "alreadyExists": "この ID のプロファイルは既に存在します"
+ },
+ "renameProfile": "プロファイル名を変更",
+ "renameSuccess": "プロファイル名を「{{profile}}」に変更しました",
+ "deleteProfile": "プロファイルを削除",
+ "deleteProfileConfirm": "プロファイル「{{profile}}」を全カメラから削除しますか?この操作は元に戻せません。",
+ "deleteSuccess": "プロファイル「{{profile}}」を削除しました",
+ "createSuccess": "プロファイル「{{profile}}」を作成しました",
+ "removeOverride": "プロファイル上書きを解除",
+ "deleteSection": "セクション上書きを削除",
+ "deleteSectionConfirm": "{{camera}} の {{profile}} プロファイルから {{section}} の上書きを削除しますか?",
+ "deleteSectionSuccess": "{{profile}} の {{section}} 上書きを削除しました",
+ "enableSwitch": "プロファイルを有効にする",
+ "enabledDescription": "プロファイルが有効化されています。下から新しいプロファイルを作成し、カメラ設定セクションで変更を加えて保存すると反映されます。",
+ "disabledDescription": "プロファイルを使うと、名前付きのカメラ設定上書きセット(例: 在宅、外出、夜間)を定義し、必要に応じて有効化できます。"
+ },
+ "unsavedChanges": "未保存の変更があります",
+ "confirmReset": "リセットの確認",
+ "resetToDefaultDescription": "このセクションのすべての設定をデフォルト値にリセットします。この操作は元に戻せません。",
+ "resetToGlobalDescription": "このセクションの設定をグローバルのデフォルトにリセットします。この操作は元に戻せません。",
+ "go2rtcStreams": {
+ "title": "go2rtc ストリーム",
+ "description": "カメラのリストリーム用に go2rtc のストリーム設定を管理します。各ストリームは名前と 1 つ以上のソース URL を持ちます。",
+ "addStream": "ストリームを追加",
+ "addStreamDesc": "新しいストリームの名前を入力してください。この名前はカメラ設定でストリームを参照する際に使用されます。",
+ "addUrl": "URL を追加",
+ "streamNumber": "ストリーム {{index}}",
+ "streamName": "ストリーム名",
+ "streamNamePlaceholder": "例: front_door",
+ "streamUrlPlaceholder": "例: rtsp://user:pass@192.168.1.100/stream",
+ "deleteStream": "ストリームを削除",
+ "deleteStreamConfirm": "ストリーム「{{streamName}}」を削除してもよろしいですか?このストリームを参照しているカメラは動作しなくなる可能性があります。",
+ "noStreams": "go2rtc ストリームが設定されていません。ストリームを追加して始めてください。",
+ "validation": {
+ "nameRequired": "ストリーム名は必須です",
+ "nameDuplicate": "この名前のストリームは既に存在します",
+ "nameInvalid": "ストリーム名には英字、数字、アンダースコア、ハイフンのみ使用できます",
+ "urlRequired": "URL を少なくとも 1 つ指定してください"
+ },
+ "renameStream": "ストリーム名を変更",
+ "renameStreamDesc": "このストリームの新しい名前を入力してください。名前を変更すると、この名前で参照しているカメラや他のストリームが動作しなくなる可能性があります。",
+ "newStreamName": "新しいストリーム名",
+ "ffmpeg": {
+ "useFfmpegModule": "互換モード (ffmpeg) を使用",
+ "video": "映像",
+ "audio": "音声",
+ "hardware": "ハードウェアアクセラレーション",
+ "videoCopy": "コピー",
+ "videoH264": "H.264 にトランスコード",
+ "videoH265": "H.265 にトランスコード",
+ "videoExclude": "除外",
+ "audioCopy": "コピー",
+ "audioAac": "AAC にトランスコード",
+ "audioOpus": "Opus にトランスコード",
+ "audioPcmu": "PCM μ-law にトランスコード",
+ "audioPcma": "PCM A-law にトランスコード",
+ "audioPcm": "PCM にトランスコード",
+ "audioMp3": "MP3 にトランスコード",
+ "audioExclude": "除外",
+ "hardwareNone": "ハードウェアアクセラレーションなし",
+ "hardwareAuto": "自動 (推奨)",
+ "hardwareVaapi": "VAAPI",
+ "hardwareCuda": "CUDA",
+ "hardwareV4l2m2m": "V4L2 M2M",
+ "hardwareDxva2": "DXVA2",
+ "hardwareVideotoolbox": "VideoToolbox",
+ "addVideoCodec": "ビデオコーデックを追加",
+ "addAudioCodec": "音声コーデックを追加",
+ "removeCodec": "コーデックを削除"
+ },
+ "sourceNumber": "ソース {{index}}"
+ },
+ "birdseye": {
+ "trackingMode": {
+ "objects": "オブジェクト",
+ "motion": "モーション",
+ "continuous": "常時"
+ },
+ "cameraOrder": {
+ "label": "カメラ順序",
+ "description": "カメラをドラッグしてバードアイレイアウト内の順序を設定します。",
+ "reorderHandle": "ドラッグで並び替え",
+ "saving": "保存中…",
+ "saved": "保存しました"
+ }
+ },
+ "retainMode": {
+ "all": "すべて",
+ "motion": "モーション",
+ "active_objects": "アクティブなオブジェクト"
+ },
+ "previewQuality": {
+ "very_high": "非常に高",
+ "high": "高",
+ "medium": "中",
+ "low": "低",
+ "very_low": "非常に低"
+ },
+ "ui": {
+ "timeFormat": {
+ "browser": "ブラウザ設定",
+ "12hour": "12 時間表示",
+ "24hour": "24 時間表示"
+ },
+ "TimeOrDateStyle": {
+ "full": "完全表示",
+ "long": "長い形式",
+ "medium": "中程度",
+ "short": "短い形式"
+ },
+ "unitSystem": {
+ "metric": "メートル法",
+ "imperial": "ヤード・ポンド法"
+ }
+ },
+ "review": {
+ "imageSource": {
+ "recordings": "録画",
+ "previews": "プレビュー"
+ }
+ },
+ "logger": {
+ "logLevel": {
+ "debug": "デバッグ",
+ "info": "情報",
+ "warning": "警告",
+ "error": "エラー",
+ "critical": "重大"
+ }
+ },
+ "onvif": {
+ "profileAuto": "自動",
+ "profileLoading": "プロファイルを読み込み中...",
+ "autotracking": {
+ "zooming": {
+ "disabled": "無効",
+ "absolute": "絶対値",
+ "relative": "相対値"
+ }
+ }
+ },
+ "modelSize": {
+ "small": "小",
+ "large": "大"
+ },
+ "configMessages": {
+ "review": {
+ "recordDisabled": "録画が無効化されているため、レビュー項目は生成されません。",
+ "detectDisabled": "物体検知が無効化されています。レビュー項目はアラートと検知を分類するために検知オブジェクトが必要です。",
+ "allNonAlertDetections": "アラート以外のすべてのアクティビティが検知として含まれます。",
+ "genaiImageSourceRecordingsRecordDisabled": "画像ソースが「録画」に設定されていますが、録画は無効化されています。Frigate はプレビュー画像を代わりに使用します。"
+ },
+ "audio": {
+ "noAudioRole": "audio ロールが定義されたストリームがありません。音声検知を機能させるには audio ロールを有効にする必要があります。"
+ },
+ "audioTranscription": {
+ "audioDetectionDisabled": "このカメラでは音声検知が有効化されていません。音声文字起こしには音声検知が必要です。"
+ },
+ "detect": {
+ "fpsGreaterThanFive": "検知 FPS を 5 より高く設定することは推奨されません。値を大きくしてもパフォーマンス上の問題を引き起こすだけで、メリットはありません。",
+ "disabled": "物体検知が無効化されています。スナップショット、レビュー項目、顔認識、ナンバープレート認識、生成AI などのエンリッチメントは機能しません。",
+ "resolutionShouldBeMultipleOfFour": "最良の結果を得るため、検知の幅と高さは 4 の倍数にしてください。他の偶数値でも動作しますが、検知ストリームに視覚的なノイズや軽微な歪みが生じる可能性があります。",
+ "aspectRatioMismatch": "入力した幅と高さは現在の検知解像度のアスペクト比と一致していません。映像が引き伸ばされたり歪んだりする可能性があります。"
+ },
+ "objects": {
+ "genaiNoDescriptionsProvider": "説明を生成するには「descriptions」ロールを持つ生成AIプロバイダを設定する必要があります。"
+ },
+ "faceRecognition": {
+ "globalDisabled": "このカメラで顔認識機能を使うには、顔認識のエンリッチメントを有効にする必要があります。",
+ "personNotTracked": "顔認識には「person」オブジェクトの追跡が必要です。このカメラのオブジェクト設定で「person」を有効にしてください。",
+ "modelSizeLarge": "「large」モデルは合理的な性能を発揮するために GPU または NPU が必要です。CPU のみのシステムでは「small」を使用してください。"
+ },
+ "lpr": {
+ "globalDisabled": "このカメラで LPR 機能を使うには、ナンバープレート認識のエンリッチメントを有効にする必要があります。",
+ "vehicleNotTracked": "ナンバープレート認識には「car」または「motorcycle」の追跡が必要です。このカメラのオブジェクト設定でいずれかを有効にしてください。",
+ "modelSizeLarge": "「large」モデルは複数行のナンバープレート向けに最適化されています。お住まいの地域で複数行プレートが使われていない限り、「small」モデルの方が性能が良いためそちらを使用してください。"
+ },
+ "record": {
+ "noRecordRole": "record ロールが定義されたストリームがありません。録画は機能しません。"
+ },
+ "birdseye": {
+ "objectsModeDetectDisabled": "バードアイが「objects」モードに設定されていますが、このカメラの物体検知は無効化されています。このカメラはバードアイに表示されません。"
+ },
+ "snapshots": {
+ "detectDisabled": "物体検知が無効化されています。スナップショットは追跡オブジェクトから生成されるため、作成されません。"
+ },
+ "detectors": {
+ "mixedTypes": "すべての検出器は同じタイプである必要があります。別のタイプを使うには既存の検出器を削除してください。",
+ "mixedTypesSuggestion": "すべての検出器は同じタイプである必要があります。既存の検出器を削除するか、{{type}} を選択してください。"
+ },
+ "semanticSearch": {
+ "jinav2SmallModelSize": "Jina V2 モデルの「small」サイズは RAM と推論コストが高くなります。専用 GPU と「large」モデルの組み合わせを推奨します。"
+ },
+ "onvif": {
+ "autotrackingNoZones": "オートトラッキング機能を使用するには、少なくとも1つのゾーンが必要です。「マスク / ゾーン」でこのカメラ用のゾーンを定義し、以下でそれを必須ゾーンとして設定してください。"
}
}
}
diff --git a/web/public/locales/ja/views/system.json b/web/public/locales/ja/views/system.json
index fd64e58a1b..2971039638 100644
--- a/web/public/locales/ja/views/system.json
+++ b/web/public/locales/ja/views/system.json
@@ -23,7 +23,7 @@
"error": "ログをクリップボードにコピーできませんでした"
},
"type": {
- "label": "種類",
+ "label": "タイプ",
"timestamp": "タイムスタンプ",
"tag": "タグ",
"message": "メッセージ"
@@ -70,7 +70,7 @@
"inferenceSpeed": "ディテクタ推論速度",
"temperature": "ディテクタ温度",
"cpuUsage": "ディテクタの CPU 使用率",
- "cpuUsageInformation": "検出モデルへの入力/出力データの準備に使用される CPU。GPU やアクセラレータを使用していても、この値は推論の使用量を測定しません。",
+ "cpuUsageInformation": "検知モデルへの入力/出力データの準備に使用される CPU。GPU やアクセラレータを使用していても、この値は推論の使用量を測定しません。",
"memoryUsage": "ディテクタのメモリ使用量"
},
"hardwareInfo": {
@@ -108,8 +108,11 @@
"intelGpuWarning": {
"title": "Intel GPU 統計情報の警告",
"message": "GPU の統計情報を取得できません",
- "description": "これは Intel の GPU 統計取得ツール(intel_gpu_top)における既知の不具合です。ハードウェアアクセラレーションやオブジェクト検出が (i)GPU 上で正しく動作している場合でも、GPU 使用率が 0% と繰り返し表示されることがあります。これは Frigate の不具合ではありません。ホストを再起動することで一時的に解消し、GPU が正常に動作していることを確認できます。本問題はパフォーマンスには影響しません。"
- }
+ "description": "これは Intel の GPU 統計取得ツール(intel_gpu_top)における既知の不具合です。ハードウェアアクセラレーションやオブジェクト検知が (i)GPU 上で正しく動作している場合でも、GPU 使用率が 0% と繰り返し表示されることがあります。これは Frigate の不具合ではありません。ホストを再起動することで一時的に解消し、GPU が正常に動作していることを確認できます。本問題はパフォーマンスには影響しません。"
+ },
+ "gpuCompute": "GPU 演算 / エンコード",
+ "gpuTemperature": "GPU 温度",
+ "npuTemperature": "NPU 温度"
},
"otherProcesses": {
"title": "その他のプロセス",
@@ -134,7 +137,11 @@
},
"shm": {
"title": "SHM(共有メモリ)の割り当て",
- "warning": "現在の SHM サイズ {{total}}MB は小さすぎます。少なくとも {{min_shm}}MB に増やしてください。"
+ "warning": "現在の SHM サイズ {{total}}MB は小さすぎます。少なくとも {{min_shm}}MB に増やしてください。",
+ "frameLifetime": {
+ "title": "フレーム保持時間",
+ "description": "各カメラは共有メモリ内に {{frames}} 個のフレームスロットを持ちます。最も高速なカメラのフレームレートでは、各フレームは上書きされるまで約 {{lifetime}} 秒間利用可能です。"
+ }
},
"cameraStorage": {
"title": "カメラストレージ",
@@ -169,22 +176,23 @@
"title": "カメラプローブ情報"
}
},
- "framesAndDetections": "フレーム / 検出",
+ "framesAndDetections": "フレーム / 検知",
"label": {
"camera": "カメラ",
- "detect": "検出",
+ "detect": "検知",
"skipped": "スキップ",
"ffmpeg": "FFmpeg",
"capture": "キャプチャ",
"overallFramesPerSecond": "全体フレーム/秒",
- "overallDetectionsPerSecond": "全体検出/秒",
- "overallSkippedDetectionsPerSecond": "全体スキップ検出/秒",
+ "overallDetectionsPerSecond": "全体検知/秒",
+ "overallSkippedDetectionsPerSecond": "全体スキップ検知/秒",
"cameraFfmpeg": "{{camName}} FFmpeg",
"cameraCapture": "{{camName}} キャプチャ",
- "cameraDetect": "{{camName}} 検出",
+ "cameraDetect": "{{camName}} 検知",
"cameraFramesPerSecond": "{{camName}} フレーム/秒",
- "cameraDetectionsPerSecond": "{{camName}} 検出/秒",
- "cameraSkippedDetectionsPerSecond": "{{camName}} スキップ検出/秒"
+ "cameraDetectionsPerSecond": "{{camName}} 検知/秒",
+ "cameraSkippedDetectionsPerSecond": "{{camName}} スキップ検知/秒",
+ "cameraGpu": "{{camName}} GPU"
},
"toast": {
"success": {
@@ -193,18 +201,33 @@
"error": {
"unableToProbeCamera": "カメラをプローブできません: {{errorMessage}}"
}
+ },
+ "noCameras": {
+ "title": "カメラが見つかりません"
+ },
+ "connectionQuality": {
+ "title": "接続品質",
+ "excellent": "非常に良好",
+ "fair": "普通",
+ "poor": "不良",
+ "unusable": "使用不可",
+ "fps": "FPS",
+ "expectedFps": "想定 FPS",
+ "reconnectsLastHour": "再接続回数 (直近1時間)",
+ "stallsLastHour": "ストール回数 (直近1時間)"
}
},
"lastRefreshed": "最終更新: ",
"stats": {
"ffmpegHighCpuUsage": "{{camera}} の FFmpeg の CPU 使用率が高い({{ffmpegAvg}}%)",
- "detectHighCpuUsage": "{{camera}} の検出の CPU 使用率が高い({{detectAvg}}%)",
+ "detectHighCpuUsage": "{{camera}} の検知の CPU 使用率が高い({{detectAvg}}%)",
"healthy": "システムは正常です",
"reindexingEmbeddings": "埋め込みを再インデックス中({{processed}}% 完了)",
"cameraIsOffline": "{{camera}} はオフラインです",
"detectIsSlow": "{{detect}} が遅い({{speed}} ms)",
"detectIsVerySlow": "{{detect}} が非常に遅い({{speed}} ms)",
- "shmTooLow": "/dev/shm の割り当て({{total}} MB)は少なくとも {{min}} MB に増やす必要があります。"
+ "shmTooLow": "/dev/shm の割り当て({{total}} MB)は少なくとも {{min}} MB に増やす必要があります。",
+ "debugReplayActive": "デバッグリプレイセッションが実行中です"
},
"enrichments": {
"title": "高度解析",
@@ -219,8 +242,8 @@
"face_recognition_speed": "顔認識速度",
"plate_recognition_speed": "ナンバープレート認識速度",
"text_embedding_speed": "テキスト埋め込み速度",
- "yolov9_plate_detection_speed": "YOLOv9 ナンバープレート検出速度",
- "yolov9_plate_detection": "YOLOv9 ナンバープレート検出",
+ "yolov9_plate_detection_speed": "YOLOv9 ナンバープレート検知速度",
+ "yolov9_plate_detection": "YOLOv9 ナンバープレート検知",
"review_description": "レビュー説明",
"review_description_speed": "レビュー説明の処理速度",
"review_description_events_per_second": "レビュー説明",