diff --git a/web/public/locales/ja/common.json b/web/public/locales/ja/common.json index 90eeba7ef..ba84f3e2f 100644 --- a/web/public/locales/ja/common.json +++ b/web/public/locales/ja/common.json @@ -77,6 +77,14 @@ "length": { "feet": "フィート", "meters": "メートル" + }, + "data": { + "gbph": "GB/hour", + "gbps": "GB/s", + "kbph": "kB/hour", + "kbps": "kB/s", + "mbph": "MB/hour", + "mbps": "MB/s" } }, "label": { @@ -256,5 +264,8 @@ "title": "404", "desc": "ページが見つかりません" }, - "selectItem": "{{item}} を選択" + "selectItem": "{{item}} を選択", + "information": { + "pixels": "{{area}}ピクセル" + } } diff --git a/web/public/locales/ja/components/dialog.json b/web/public/locales/ja/components/dialog.json index c97fc475b..2c5f5e0d4 100644 --- a/web/public/locales/ja/components/dialog.json +++ b/web/public/locales/ja/components/dialog.json @@ -105,7 +105,8 @@ "button": { "export": "書き出し", "markAsReviewed": "レビュー済みにする", - "deleteNow": "今すぐ削除" + "deleteNow": "今すぐ削除", + "markAsUnreviewed": "未レビューに戻す" } }, "imagePicker": { diff --git a/web/public/locales/ja/views/explore.json b/web/public/locales/ja/views/explore.json index 5be336cfa..3e782f926 100644 --- a/web/public/locales/ja/views/explore.json +++ b/web/public/locales/ja/views/explore.json @@ -90,7 +90,7 @@ } }, "downloadingModels": { - "context": "Frigate はセマンティック検索をサポートするために必要な埋め込みモデルをダウンロードしています。ネットワーク速度により数分かかる場合があります。", + "context": "Frigate はセマンティック検索(意味理解型画像検索)をサポートするために必要な埋め込みモデルをダウンロードしています。ネットワーク速度により数分かかる場合があります。", "setup": { "visionModel": "ビジョンモデル", "visionModelFeatureExtractor": "ビジョンモデル特徴抽出器", diff --git a/web/public/locales/ja/views/faceLibrary.json b/web/public/locales/ja/views/faceLibrary.json index 7e7c2879d..06c13a080 100644 --- a/web/public/locales/ja/views/faceLibrary.json +++ b/web/public/locales/ja/views/faceLibrary.json @@ -65,7 +65,7 @@ "selectImage": "画像ファイルを選択してください。" }, "dropActive": "ここに画像をドロップ…", - "dropInstructions": "画像をここにドラッグ&ドロップ、またはクリックして選択", + "dropInstructions": "画像をここにドラッグ&ドロップ、ペースト、またはクリックして選択", "maxSize": "最大サイズ: {{size}}MB" }, "nofaces": "顔はありません", diff --git a/web/public/locales/ja/views/live.json b/web/public/locales/ja/views/live.json index c47b6d817..cfcd5739d 100644 --- a/web/public/locales/ja/views/live.json +++ b/web/public/locales/ja/views/live.json @@ -91,7 +91,7 @@ }, "manualRecording": { "title": "オンデマンド録画", - "tips": "このカメラの録画保持設定に基づく手動イベントを開始します。", + "tips": "このカメラの録画保持設定に基づいて、即時スナップショットをダウンロードするか、手動イベントを開始してください。", "playInBackground": { "label": "バックグラウンドで再生", "desc": "プレーヤーが非表示の場合でもストリーミングを継続するにはこのオプションを有効にします。" @@ -136,6 +136,9 @@ "playInBackground": { "label": "バックグラウンドで再生", "tips": "プレーヤーが非表示でもストリーミングを継続するにはこのオプションを有効にします。" + }, + "debug": { + "picker": "デバッグモードではストリームの選択はできません。デバッグビューは常に 検出ロールに割り当てられたストリームを使用します。" } }, "cameraSettings": { @@ -165,5 +168,16 @@ "label": "カメラグループを編集" }, "exitEdit": "編集を終了" + }, + "noCameras": { + "title": "カメラが設定されていません", + "buttonText": "カメラを追加", + "description": "開始するには、カメラを接続してください。" + }, + "snapshot": { + "takeSnapshot": "即時スナップショットをダウンロード", + "noVideoSource": "スナップショットに使用できる映像ソースがありません。", + "captureFailed": "スナップショットの取得に失敗しました。", + "downloadStarted": "スナップショットのダウンロードを開始しました。" } } diff --git a/web/public/locales/ja/views/settings.json b/web/public/locales/ja/views/settings.json index 004fd73b3..9b38c854d 100644 --- a/web/public/locales/ja/views/settings.json +++ b/web/public/locales/ja/views/settings.json @@ -3,17 +3,19 @@ "authentication": "認証設定 - Frigate", "camera": "カメラ設定 - Frigate", "default": "設定 - Frigate", - "enrichments": "エンリッチメント設定 - Frigate", + "enrichments": "高度解析設定 - Frigate", "masksAndZones": "マスク/ゾーンエディタ - Frigate", "motionTuner": "モーションチューナー - Frigate", "object": "デバッグ - Frigate", "general": "一般設定 - Frigate", "frigatePlus": "Frigate+ 設定 - Frigate", - "notifications": "通知設定 - Frigate" + "notifications": "通知設定 - Frigate", + "cameraManagement": "カメラ設定 - Frigate", + "cameraReview": "カメラレビュー設定 - Frigate" }, "menu": { "ui": "UI", - "enrichments": "エンリッチメント", + "enrichments": "高度解析", "cameras": "カメラ設定", "masksAndZones": "マスク/ゾーン", "motionTuner": "モーションチューナー", @@ -21,7 +23,10 @@ "debug": "デバッグ", "users": "ユーザー", "notifications": "通知", - "frigateplus": "Frigate+" + "frigateplus": "Frigate+", + "cameraManagement": "管理", + "cameraReview": "レビュー", + "roles": "区分" }, "dialog": { "unsavedChanges": { @@ -84,8 +89,8 @@ } }, "enrichments": { - "title": "エンリッチメント設定", - "unsavedChanges": "未保存のエンリッチメント設定の変更", + "title": "高度解析設定", + "unsavedChanges": "未保存の高度解析設定の変更", "birdClassification": { "title": "鳥類分類", "desc": "量子化された TensorFlow モデルを使って既知の鳥を識別します。既知の鳥を認識した場合、その一般名を sub_label として追加します。この情報は UI、フィルタ、通知に含まれます。" @@ -136,9 +141,9 @@ "title": "ナンバープレート認識", "desc": "車両のナンバープレートを認識し、検出文字列を recognized_license_plate フィールドへ、または既知の名称を car タイプのオブジェクトの sub_label として自動追加できます。一般的な用途として、私道に入ってくる車や道路を通過する車のナンバー読み取りがあります。" }, - "restart_required": "再起動が必要です(エンリッチメント設定を変更)", + "restart_required": "再起動が必要です(高度解析設定を変更)", "toast": { - "success": "エンリッチメント設定を保存しました。変更を適用するには Frigate を再起動してください。", + "success": "高度解析設定を保存しました。変更を適用するには Frigate を再起動してください。", "error": "設定変更の保存に失敗しました: {{errorMessage}}" } }, @@ -793,6 +798,11 @@ "error": { "min": "少なくとも1つのアクションを選択してください。" } + }, + "friendly_name": { + "title": "表示名", + "placeholder": "このトリガーの名前または説明", + "description": "このトリガーの表示名または説明文" } } }, @@ -807,6 +817,227 @@ "updateTriggerFailed": "トリガーの更新に失敗しました: {{errorMessage}}", "deleteTriggerFailed": "トリガーの削除に失敗しました: {{errorMessage}}" } + }, + "semanticSearch": { + "desc": "トリガーを使用するにはセマンティック検索を有効にする必要があります。", + "title": "セマンティック検索が無効です" + } + }, + "cameraWizard": { + "step3": { + "saveAndApply": "新しいカメラを保存", + "description": "保存前の最終検証と解析。保存する前に各ストリームを接続してください。", + "validationTitle": "ストリーム検証", + "connectAllStreams": "すべてのストリームを接続", + "reconnectionSuccess": "再接続に成功しました。", + "reconnectionPartial": "一部のストリームの再接続に失敗しました。", + "streamUnavailable": "ストリームプレビューは利用できません", + "reload": "再読み込み", + "connecting": "接続中…", + "streamTitle": "ストリーム {{number}}", + "valid": "有効", + "failed": "失敗", + "notTested": "未テスト", + "connectStream": "接続", + "connectingStream": "接続中", + "disconnectStream": "切断", + "estimatedBandwidth": "推定帯域幅", + "roles": "ロール", + "none": "なし", + "error": "エラー", + "streamValidated": "ストリーム {{number}} の検証に成功しました", + "streamValidationFailed": "ストリーム {{number}} の検証に失敗しました", + "saveError": "無効な構成です。設定を確認してください。", + "issues": { + "title": "ストリーム検証", + "videoCodecGood": "ビデオコーデックは {{codec}} です。", + "audioCodecGood": "オーディオコーデックは {{codec}} です。", + "noAudioWarning": "このストリームでは音声が検出されません。録画には音声が含まれません。", + "audioCodecRecordError": "録画に音声を含めるには AAC オーディオコーデックが必要です。", + "audioCodecRequired": "音声検出を有効にするには音声ストリームが必要です。", + "restreamingWarning": "録画ストリームでカメラへの接続数を減らすと、CPU 使用率がわずかに増加する場合があります。", + "hikvision": { + "substreamWarning": "サブストリーム1は低解像度に固定されています。多くの Hikvision 製カメラでは、追加のサブストリームが利用可能であり、カメラ本体の設定で有効化する必要があります。使用できる場合は、それらのストリームを確認して活用することを推奨します。" + }, + "dahua": { + "substreamWarning": "サブストリーム1は低解像度に固定されています。多くの Dahua/Amcrest/EmpireTech 製カメラでは、追加のサブストリームが利用可能であり、カメラ本体の設定で有効化する必要があります。使用できる場合は、それらのストリームを確認して活用することを推奨します。" + } + } + }, + "title": "カメラを追加", + "description": "以下の手順に従って、Frigate に新しいカメラを追加します。", + "steps": { + "nameAndConnection": "名称と接続", + "streamConfiguration": "ストリーム設定", + "validationAndTesting": "検証とテスト" + }, + "save": { + "success": "新しいカメラ {{cameraName}} を保存しました。", + "failure": "保存エラー: {{cameraName}}。" + }, + "testResultLabels": { + "resolution": "解像度", + "video": "ビデオ", + "audio": "オーディオ", + "fps": "FPS" + }, + "commonErrors": { + "noUrl": "有効なストリーム URL を入力してください", + "testFailed": "ストリームテストに失敗しました: {{error}}" + }, + "step1": { + "description": "カメラの詳細を入力し、接続テストを実行します。", + "cameraName": "カメラ名", + "cameraNamePlaceholder": "例: front_door または Back Yard Overview", + "host": "ホスト/IP アドレス", + "port": "ポート", + "username": "ユーザー名", + "usernamePlaceholder": "任意", + "password": "パスワード", + "passwordPlaceholder": "任意", + "selectTransport": "トランスポートプロトコルを選択", + "cameraBrand": "カメラブランド", + "selectBrand": "URL テンプレート用のカメラブランドを選択", + "customUrl": "カスタムストリーム URL", + "brandInformation": "ブランド情報", + "brandUrlFormat": "RTSP URL 形式が {{exampleUrl}} のカメラ向け", + "customUrlPlaceholder": "rtsp://username:password@host:port/path", + "testConnection": "接続テスト", + "testSuccess": "接続テストに成功しました!", + "testFailed": "接続テストに失敗しました。入力内容を確認して再試行してください。", + "streamDetails": "ストリーム詳細", + "warnings": { + "noSnapshot": "設定されたストリームからスナップショットを取得できません。" + }, + "errors": { + "brandOrCustomUrlRequired": "ホスト/IP とブランドを選択するか、「その他」を選んでカスタム URL を指定してください", + "nameRequired": "カメラ名は必須です", + "nameLength": "カメラ名は64文字以下である必要があります", + "invalidCharacters": "カメラ名に無効な文字が含まれています", + "nameExists": "このカメラ名は既に存在します", + "brands": { + "reolink-rtsp": "Reolink の RTSP は推奨されません。カメラ設定で http を有効にし、カメラウィザードを再起動することを推奨します。" + } + }, + "docs": { + "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" + } + }, + "step2": { + "description": "ストリームのロールを設定し、必要に応じて追加ストリームを登録します。", + "streamsTitle": "カメラストリーム", + "addStream": "ストリームを追加", + "addAnotherStream": "ストリームをさらに追加", + "streamTitle": "ストリーム {{number}}", + "streamUrl": "ストリーム URL", + "streamUrlPlaceholder": "rtsp://username:password@host:port/path", + "url": "URL", + "resolution": "解像度", + "selectResolution": "解像度を選択", + "quality": "品質", + "selectQuality": "品質を選択", + "roles": "ロール", + "roleLabels": { + "detect": "物体検出", + "record": "録画", + "audio": "音声" + }, + "testStream": "接続テスト", + "testSuccess": "ストリームテストに成功しました!", + "testFailed": "ストリームテストに失敗しました", + "testFailedTitle": "テスト失敗", + "connected": "接続済み", + "notConnected": "未接続", + "featuresTitle": "機能", + "go2rtc": "カメラへの接続数を削減", + "detectRoleWarning": "\"detect\" ロールを持つストリームが少なくとも1つ必要です。", + "rolesPopover": { + "title": "ストリームロール", + "detect": "物体検出のメインフィード。", + "record": "設定に基づいて映像フィードのセグメントを保存します。", + "audio": "音声検出用のフィード。" + }, + "featuresPopover": { + "title": "ストリーム機能", + "description": "go2rtc のリストリーミングを使用してカメラへの接続数を削減します。" + } + } + }, + "cameraManagement": { + "title": "カメラ管理", + "addCamera": "新しいカメラを追加", + "editCamera": "カメラを編集:", + "selectCamera": "カメラを選択", + "backToSettings": "カメラ設定に戻る", + "streams": { + "title": "カメラの有効化/無効化", + "desc": "Frigate を再起動するまで一時的にカメラを無効化します。無効化すると、このカメラのストリーム処理は完全に停止し、検出・録画・デバッグは利用できません。
注: これは go2rtc のリストリームを無効にはしません。" + }, + "cameraConfig": { + "add": "カメラを追加", + "edit": "カメラを編集", + "description": "ストリーム入力とロールを含むカメラ設定を構成します。", + "name": "カメラ名", + "nameRequired": "カメラ名は必須です", + "nameLength": "カメラ名は64文字未満である必要があります。", + "namePlaceholder": "例: front_door または Back Yard Overview", + "enabled": "有効", + "ffmpeg": { + "inputs": "入力ストリーム", + "path": "ストリームパス", + "pathRequired": "ストリームパスは必須です", + "pathPlaceholder": "rtsp://...", + "roles": "ロール", + "rolesRequired": "少なくとも1つのロールが必要です", + "rolesUnique": "各ロール(audio、detect、record)は1つのストリームにのみ割り当て可能です", + "addInput": "入力ストリームを追加", + "removeInput": "入力ストリームを削除", + "inputsRequired": "少なくとも1つの入力ストリームが必要です" + }, + "go2rtcStreams": "go2rtc ストリーム", + "streamUrls": "ストリーム URL", + "addUrl": "URL を追加", + "addGo2rtcStream": "go2rtc ストリームを追加", + "toast": { + "success": "カメラ {{cameraName}} を保存しました" + } + } + }, + "cameraReview": { + "title": "カメラレビュー設定", + "object_descriptions": { + "title": "生成AIによるオブジェクト説明", + "desc": "このカメラに対する生成AIのオブジェクト説明を一時的に有効/無効にします。無効にすると、このカメラの追跡オブジェクトについてAI生成の説明は要求されません。" + }, + "review_descriptions": { + "title": "生成AIによるレビュー説明", + "desc": "このカメラに対する生成AIのレビュー説明を一時的に有効/無効にします。無効にすると、このカメラのレビュー項目についてAI生成の説明は要求されません。" + }, + "review": { + "title": "レビュー", + "desc": "Frigate を再起動するまで、このカメラのアラートと検出を一時的に有効/無効にします。無効にすると、新しいレビュー項目は生成されません。 ", + "alerts": "アラート ", + "detections": "検出 " + }, + "reviewClassification": { + "title": "レビュー分類", + "desc": "Frigate はレビュー項目をアラートと検出に分類します。既定では、すべての personcar オブジェクトはアラートとして扱われます。必須ゾーンを設定することで、分類をより細かく調整できます。", + "noDefinedZones": "このカメラにはゾーンが定義されていません。", + "objectAlertsTips": "すべての {{alertsLabels}} オブジェクトは {{cameraName}} でアラートとして表示されます。", + "zoneObjectAlertsTips": "{{cameraName}} の {{zone}} で検出されたすべての {{alertsLabels}} オブジェクトはアラートとして表示されます。", + "objectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検出として表示されます。", + "zoneObjectDetectionsTips": { + "text": "{{cameraName}} の {{zone}} で分類されていないすべての {{detectionsLabels}} オブジェクトは検出として表示されます。", + "notSelectDetections": "{{cameraName}} の {{zone}} で検出され、アラートに分類されなかったすべての {{detectionsLabels}} オブジェクトは、ゾーンに関係なく検出として表示されます。", + "regardlessOfZoneObjectDetectionsTips": "{{cameraName}} で分類されていないすべての {{detectionsLabels}} オブジェクトは、どのゾーンにあっても検出として表示されます。" + }, + "unsavedChanges": "未保存のレビュー分類設定({{camera}})", + "selectAlertsZones": "アラート用のゾーンを選択", + "selectDetectionsZones": "検出用のゾーンを選択", + "limitDetections": "特定のゾーンに検出を限定する", + "toast": { + "success": "レビュー分類の設定を保存しました。変更を適用するには Frigate を再起動してください。" + } } } } diff --git a/web/public/locales/ja/views/system.json b/web/public/locales/ja/views/system.json index 66c77021b..da57fa7c3 100644 --- a/web/public/locales/ja/views/system.json +++ b/web/public/locales/ja/views/system.json @@ -3,7 +3,7 @@ "cameras": "カメラ統計 - Frigate", "general": "一般統計 - Frigate", "storage": "ストレージ統計 - Frigate", - "enrichments": "エンリッチメント統計 - Frigate", + "enrichments": "高度解析統計 - Frigate", "logs": { "frigate": "Frigate ログ - Frigate", "go2rtc": "Go2RTC ログ - Frigate", @@ -38,7 +38,7 @@ "general": { "title": "全般", "detector": { - "title": "ディテクタ", + "title": "検出器", "inferenceSpeed": "ディテクタ推論速度", "temperature": "ディテクタ温度", "cpuUsage": "ディテクタの CPU 使用率", @@ -167,7 +167,7 @@ "shmTooLow": "/dev/shm の割り当て({{total}} MB)は少なくとも {{min}} MB に増やす必要があります。" }, "enrichments": { - "title": "エンリッチメント", + "title": "高度解析", "infPerSecond": "毎秒推論回数", "embeddings": { "image_embedding": "画像埋め込み",