@ioai/lerobot-studio 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist-lib/{DockviewLayout-BDK9-nmD.js → DockviewLayout-CUu7GYs2.js} +1 -1
- package/dist-lib/{LeRobotDataLoader-CgLRJ0U1.js → LeRobotDataLoader-DXZRK9t2.js} +10 -10
- package/dist-lib/lerobot-studio.css +61 -12
- package/dist-lib/lerobot.es.js +2730 -2589
- package/dist-lib/{react-window-DufFyc3b.js → react-window-Bqez0RiF.js} +64 -94
- package/dist-lib/{workerManager-CvezHmhd.js → workerManager-CQ6DPJcz.js} +186 -113
- package/package.json +1 -1
|
@@ -3022,24 +3022,16 @@ var hn = {
|
|
|
3022
3022
|
speed: "播放速度"
|
|
3023
3023
|
},
|
|
3024
3024
|
subtask: {
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
endShort: "结束",
|
|
3036
|
-
endHint: "标记子任务结束 (R)",
|
|
3037
|
-
dialogTitle: "描述子任务",
|
|
3038
|
-
dialogRange: "帧 {{start}}–{{end}}",
|
|
3039
|
-
label: "子任务描述",
|
|
3040
|
-
labelPlaceholder: "例如 Grasp the apple",
|
|
3041
|
-
labelRequired: "请输入子任务描述",
|
|
3042
|
-
save: "保存子任务"
|
|
3025
|
+
pauseToLabel: "暂停即可标注",
|
|
3026
|
+
dialogTitle: "子任务",
|
|
3027
|
+
dialogRange: "{{start}}–{{end}} · {{startTime}}–{{endTime}} 秒",
|
|
3028
|
+
label: "名称",
|
|
3029
|
+
labelPlaceholder: "抓住苹果",
|
|
3030
|
+
labelRequired: "请输入名称",
|
|
3031
|
+
save: "保存",
|
|
3032
|
+
rangeTrack: "子任务",
|
|
3033
|
+
resizeBoundary: "移动分界",
|
|
3034
|
+
unlabeledGap: "未标注 {{start}}–{{end}}"
|
|
3043
3035
|
},
|
|
3044
3036
|
health: {
|
|
3045
3037
|
noData: "加载数据集后可查看健康检查",
|
|
@@ -3530,14 +3522,6 @@ var hn = {
|
|
|
3530
3522
|
lastFrame: {
|
|
3531
3523
|
action: "跳到结尾",
|
|
3532
3524
|
key: "End"
|
|
3533
|
-
},
|
|
3534
|
-
subtaskStart: {
|
|
3535
|
-
action: "标记子任务开始",
|
|
3536
|
-
key: "Q"
|
|
3537
|
-
},
|
|
3538
|
-
subtaskEnd: {
|
|
3539
|
-
action: "标记子任务结束",
|
|
3540
|
-
key: "R"
|
|
3541
3525
|
}
|
|
3542
3526
|
},
|
|
3543
3527
|
welcome: {
|
|
@@ -3629,6 +3613,7 @@ var hn = {
|
|
|
3629
3613
|
},
|
|
3630
3614
|
export: {
|
|
3631
3615
|
title: "导出数据集",
|
|
3616
|
+
a11yDescription: "选择导出格式和目标数据集版本,然后导出到文件或文件夹。",
|
|
3632
3617
|
format: "导出格式",
|
|
3633
3618
|
directory: "本地文件夹",
|
|
3634
3619
|
targetVersion: "目标版本",
|
|
@@ -3636,9 +3621,11 @@ var hn = {
|
|
|
3636
3621
|
changesSummary: "修改摘要",
|
|
3637
3622
|
modifiedCount: "已修改",
|
|
3638
3623
|
deletedCount: "已删除",
|
|
3639
|
-
subtaskEpisodes: "
|
|
3640
|
-
|
|
3641
|
-
|
|
3624
|
+
subtaskEpisodes: "含子任务的 episode",
|
|
3625
|
+
includeSubtasks: "包含子任务",
|
|
3626
|
+
subtaskCoverageHint: "每个导出的 episode 都必须完整标注子任务。",
|
|
3627
|
+
subtaskCoverageMissing: "Episode #{{index}} 还没有标注子任务。",
|
|
3628
|
+
subtaskCoverageIncomplete: "Episode #{{index}} 标注不完整({{labeled}}/{{total}})。",
|
|
3642
3629
|
totalEpisodes: "Episode 总数",
|
|
3643
3630
|
metadataOnlyHint: "当前仅导出元数据(info、episodes、tasks)。",
|
|
3644
3631
|
export: "导出",
|
|
@@ -3652,7 +3639,8 @@ var hn = {
|
|
|
3652
3639
|
percentDone: "{{percent}}%",
|
|
3653
3640
|
errorUnknown: "导出失败",
|
|
3654
3641
|
cancelled: "导出已取消。",
|
|
3655
|
-
cancelExport: "取消导出"
|
|
3642
|
+
cancelExport: "取消导出",
|
|
3643
|
+
versionReadOnly: "此数据集版本不支持导出,仅可查看。"
|
|
3656
3644
|
},
|
|
3657
3645
|
dialogs: {
|
|
3658
3646
|
remoteArchive: {
|
|
@@ -3687,7 +3675,9 @@ var hn = {
|
|
|
3687
3675
|
restoreHandleMissing: "已保存的文件访问已失效,请重新选择文件或目录。",
|
|
3688
3676
|
restorePermissionDenied: "权限被拒绝,请重新选择文件或目录。",
|
|
3689
3677
|
restoreHandleMismatch: "已保存的访问无效,请重新选择文件或目录。",
|
|
3690
|
-
restoreHandleNotFound: "文件或目录已被移动或删除,请重新选择。"
|
|
3678
|
+
restoreHandleNotFound: "文件或目录已被移动或删除,请重新选择。",
|
|
3679
|
+
insecureOriginPickerFallback: "当前不是安全源,已改用文件选择器。请优先使用 localhost 或 HTTPS。",
|
|
3680
|
+
insecureOriginExportDirectory: "导出到文件夹需要 localhost 或 HTTPS。"
|
|
3691
3681
|
},
|
|
3692
3682
|
pagination: {
|
|
3693
3683
|
previous: "上一页",
|
|
@@ -3790,24 +3780,16 @@ var hn = {
|
|
|
3790
3780
|
speed: "Playback speed"
|
|
3791
3781
|
},
|
|
3792
3782
|
subtask: {
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
endShort: "End",
|
|
3804
|
-
endHint: "Mark subtask end (R)",
|
|
3805
|
-
dialogTitle: "Describe subtask",
|
|
3806
|
-
dialogRange: "Frames {{start}}–{{end}}",
|
|
3807
|
-
label: "Subtask description",
|
|
3808
|
-
labelPlaceholder: "e.g. Grasp the apple",
|
|
3809
|
-
labelRequired: "Enter a subtask description",
|
|
3810
|
-
save: "Save subtask"
|
|
3783
|
+
pauseToLabel: "Pause to label",
|
|
3784
|
+
dialogTitle: "Subtask",
|
|
3785
|
+
dialogRange: "{{start}}–{{end}} · {{startTime}}–{{endTime}} s",
|
|
3786
|
+
label: "Name",
|
|
3787
|
+
labelPlaceholder: "Grasp the apple",
|
|
3788
|
+
labelRequired: "Enter a name",
|
|
3789
|
+
save: "Save",
|
|
3790
|
+
rangeTrack: "Subtasks",
|
|
3791
|
+
resizeBoundary: "Move boundary",
|
|
3792
|
+
unlabeledGap: "Unlabeled {{start}}–{{end}}"
|
|
3811
3793
|
},
|
|
3812
3794
|
health: {
|
|
3813
3795
|
noData: "Load a dataset to see health checks",
|
|
@@ -4264,7 +4246,7 @@ var hn = {
|
|
|
4264
4246
|
title: "Keyboard Shortcuts",
|
|
4265
4247
|
description: "Operate faster: play/seek/switch episode via keyboard.",
|
|
4266
4248
|
playPause: {
|
|
4267
|
-
action: "Play/
|
|
4249
|
+
action: "Play/pause",
|
|
4268
4250
|
key: "Space"
|
|
4269
4251
|
},
|
|
4270
4252
|
prevFrame: {
|
|
@@ -4298,14 +4280,6 @@ var hn = {
|
|
|
4298
4280
|
lastFrame: {
|
|
4299
4281
|
action: "Last frame",
|
|
4300
4282
|
key: "End"
|
|
4301
|
-
},
|
|
4302
|
-
subtaskStart: {
|
|
4303
|
-
action: "Mark subtask start",
|
|
4304
|
-
key: "Q"
|
|
4305
|
-
},
|
|
4306
|
-
subtaskEnd: {
|
|
4307
|
-
action: "Mark subtask end",
|
|
4308
|
-
key: "R"
|
|
4309
4283
|
}
|
|
4310
4284
|
},
|
|
4311
4285
|
welcome: {
|
|
@@ -4397,6 +4371,7 @@ var hn = {
|
|
|
4397
4371
|
},
|
|
4398
4372
|
export: {
|
|
4399
4373
|
title: "Export Dataset",
|
|
4374
|
+
a11yDescription: "Choose export format and target dataset version, then export to a file or folder.",
|
|
4400
4375
|
format: "Export Format",
|
|
4401
4376
|
directory: "Local Directory",
|
|
4402
4377
|
targetVersion: "Target Version",
|
|
@@ -4404,9 +4379,11 @@ var hn = {
|
|
|
4404
4379
|
changesSummary: "Changes Summary",
|
|
4405
4380
|
modifiedCount: "Modified",
|
|
4406
4381
|
deletedCount: "Deleted",
|
|
4407
|
-
subtaskEpisodes: "Subtask
|
|
4408
|
-
|
|
4409
|
-
|
|
4382
|
+
subtaskEpisodes: "Subtask episodes",
|
|
4383
|
+
includeSubtasks: "Include subtasks",
|
|
4384
|
+
subtaskCoverageHint: "Every exported episode must be fully labeled.",
|
|
4385
|
+
subtaskCoverageMissing: "Episode #{{index}} has no subtask labels.",
|
|
4386
|
+
subtaskCoverageIncomplete: "Episode #{{index}} is missing labels ({{labeled}}/{{total}}).",
|
|
4410
4387
|
totalEpisodes: "Total episodes",
|
|
4411
4388
|
metadataOnlyHint: "Current export includes metadata only (info, episodes, tasks).",
|
|
4412
4389
|
export: "Export",
|
|
@@ -4420,7 +4397,8 @@ var hn = {
|
|
|
4420
4397
|
percentDone: "{{percent}}%",
|
|
4421
4398
|
errorUnknown: "Export failed",
|
|
4422
4399
|
cancelled: "Export cancelled.",
|
|
4423
|
-
cancelExport: "Cancel export"
|
|
4400
|
+
cancelExport: "Cancel export",
|
|
4401
|
+
versionReadOnly: "This dataset version is not supported for export and can only be viewed."
|
|
4424
4402
|
},
|
|
4425
4403
|
dialogs: {
|
|
4426
4404
|
remoteArchive: {
|
|
@@ -4455,7 +4433,9 @@ var hn = {
|
|
|
4455
4433
|
restoreHandleMissing: "Saved file access expired. Please select the file or folder again.",
|
|
4456
4434
|
restorePermissionDenied: "Permission denied. Please select the file or folder again.",
|
|
4457
4435
|
restoreHandleMismatch: "Saved access is invalid. Please select the file or folder again.",
|
|
4458
|
-
restoreHandleNotFound: "The file or folder was moved or deleted. Please select it again."
|
|
4436
|
+
restoreHandleNotFound: "The file or folder was moved or deleted. Please select it again.",
|
|
4437
|
+
insecureOriginPickerFallback: "Not a secure origin. Using the file picker. Prefer localhost or HTTPS.",
|
|
4438
|
+
insecureOriginExportDirectory: "Folder export needs localhost or HTTPS."
|
|
4459
4439
|
},
|
|
4460
4440
|
pagination: {
|
|
4461
4441
|
previous: "Previous",
|
|
@@ -4558,24 +4538,16 @@ var hn = {
|
|
|
4558
4538
|
speed: "再生速度"
|
|
4559
4539
|
},
|
|
4560
4540
|
subtask: {
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
endShort: "終了",
|
|
4572
|
-
endHint: "サブタスク終了を記録 (R)",
|
|
4573
|
-
dialogTitle: "サブタスクを記述",
|
|
4574
|
-
dialogRange: "フレーム {{start}}–{{end}}",
|
|
4575
|
-
label: "サブタスクの説明",
|
|
4576
|
-
labelPlaceholder: "例: Grasp the apple",
|
|
4577
|
-
labelRequired: "サブタスクの説明を入力してください",
|
|
4578
|
-
save: "サブタスクを保存"
|
|
4541
|
+
pauseToLabel: "一時停止でラベル",
|
|
4542
|
+
dialogTitle: "サブタスク",
|
|
4543
|
+
dialogRange: "{{start}}–{{end}} · {{startTime}}–{{endTime}} 秒",
|
|
4544
|
+
label: "名前",
|
|
4545
|
+
labelPlaceholder: "りんごを掴む",
|
|
4546
|
+
labelRequired: "名前を入力",
|
|
4547
|
+
save: "保存",
|
|
4548
|
+
rangeTrack: "サブタスク",
|
|
4549
|
+
resizeBoundary: "境界を移動",
|
|
4550
|
+
unlabeledGap: "未ラベル {{start}}–{{end}}"
|
|
4579
4551
|
},
|
|
4580
4552
|
health: /* @__PURE__ */ JSON.parse("{\"noData\":\"データセットを読み込むとヘルスチェックを表示します\",\"statusErrors\":\"検証でエラーを検出\",\"statusWarnings\":\"検証で警告を検出\",\"statusOk\":\"フォーマットチェック完了\",\"checks\":\"チェック項目\",\"noIssues\":\"問題はありません\",\"fpsInvalid\":\"info.fps が未設定または ≤ 0 です。再生が不正になる可能性があります。\",\"zeroLengthEpisodes\":\"{{count}} 件のエピソードの長さが 0 です\",\"episodeCountMismatch\":\"有効エピソード数({{effective}})が info.total_episodes({{total}})と一致しません。編集/削除を反映しました。\",\"footnote\":\"フォーマット検証は読み込み時に実行されます。データ品質(NaN/外れ値)は今後のバージョンで対応予定です。\",\"healthCheckButton\":\"データセットヘルスチェック\",\"check\":\"チェック\",\"validation\":{\"columns\":{\"field\":\"チェック項目\",\"current\":\"現在\",\"expected\":\"期待値\",\"suggestion\":\"推奨対応\"},\"dialog\":{\"title\":\"データセット品質レポート\",\"summaryErrors\":\"検証でエラーを検出\",\"summaryWarnings\":\"検証で警告を検出\",\"summaryOk\":\"すべてのチェックを通過\",\"errorsCount\":\"エラー {{count}} 件\",\"warningsCount\":\"警告 {{count}} 件\",\"passedCount\":\"{{count}} 件通過\",\"filterErrors\":\"エラー {{count}} 件のみを表示\",\"filterWarnings\":\"警告 {{count}} 件のみを表示\",\"filterPassed\":\"通過した {{count}} 件のみを表示\",\"close\":\"閉じる\",\"retry\":\"再試行\",\"export\":\"エクスポート\",\"exportCsv\":\"CSV でエクスポート\",\"exportPdf\":\"PDF でエクスポート\"},\"categories\":{\"file_structure\":\"ファイル構造\",\"meta_info\":\"メタデータ\",\"features\":\"特徴量\",\"episodes\":\"エピソード\"},\"terms\":{\"exists\":\"存在する\",\"missing\":\"欠損\",\"notExists\":\"見つかりません\",\"invalidJson\":\"無効な JSON\",\"validJson\":\"有効な JSON ファイル\",\"positiveInteger\":\"正の整数\",\"nonNegativeInteger\":\"0 以上の整数\",\"positiveNumber\":\"正の数\",\"nonEmptyString\":\"空でない文字列\",\"present\":\"存在\",\"unknown\":\"不明\",\"validDtype\":\"有効な dtype\",\"object\":\"オブジェクト\",\"arrayOrNull\":\"配列または null\",\"nFeatures\":\"{{count}} 特徴量\",\"pathOrFileExists\":\"パスまたはファイルが存在\",\"fieldExists\":\"フィールドが存在\",\"positiveIntArray\":\"[正の整数, ...]\",\"stringArrayMatchShape\":\"string[](長さ = shape の最終次元)\",\"objectWithFeatures\":\"1 つ以上の feature を持つオブジェクト\",\"positiveIntMatchTotalEpisodes\":\"正の整数、total_episodes と一致\",\"episodeLengthPositive\":\"各エピソードの length > 0\",\"nonNegativeIntCount\":\"0 以上の整数(件数)\",\"requiredParquetColumns\":\"frame_index, episode_index, index, timestamp など\",\"objectWithTrainKey\":\"\\\"train\\\" キーを持つオブジェクト\",\"containsTrain\":\"\\\"train\\\" を含む\",\"requiredEpisodesColumns\":\"episode_index, length, dataset_from_index, dataset_to_index\",\"tasksPresent\":\"tasks.jsonl または tasks.parquet が存在\"},\"codes\":{\"INFO_MISSING\":{\"message\":\"meta/info.json が存在しないか読み取れません\",\"suggestion\":\"LeRobot データセットルートに meta/info.json があることを確認してください\"},\"INFO_PARSE_ERROR\":{\"message\":\"meta/info.json の JSON 解析に失敗しました\",\"suggestion\":\"JSON 構文を確認してください(例: https://jsonlint.com)\"},\"VERSION_MISMATCH\":{\"message\":\"codebase_version が v2.x ではありません\",\"suggestion\":\"v3.0 の場合は対応ローダーを使用するか、codebase_version を v2.0 または v2.1 に設定してください\"},\"VERSION_MISMATCH_V3\":{\"message\":\"codebase_version が v3.x ではありません\",\"suggestion\":\"codebase_version を v3.0 に設定してください\"},\"ROBOT_TYPE_MISSING\":{\"message\":\"robot_type が未設定または空です\",\"suggestion\":\"ロボットタイプを設定してください(例: \\\"so100\\\", \\\"lekiwi\\\")\"},\"TOTAL_EPISODES_INVALID\":{\"message\":\"total_episodes は正の整数である必要があります\",\"suggestion\":\"正しいエピソード総数を設定してください\"},\"TOTAL_FRAMES_INVALID\":{\"message\":\"total_frames は正の整数である必要があります\",\"suggestion\":\"正しいフレーム総数を設定してください\"},\"TOTAL_TASKS_INVALID\":{\"message\":\"total_tasks は 0 以上の整数である必要があります\",\"suggestion\":\"正しいタスク総数を設定してください(0 可)\"},\"FPS_INVALID\":{\"message\":\"fps は正の数である必要があります\",\"suggestion\":\"正しい FPS を設定してください(例: 30)\"},\"CHUNKS_SIZE_MISSING\":{\"message\":\"chunks_size が未設定です。デフォルト 1000 を使用します\",\"suggestion\":\"chunks_size フィールドを追加してください(推奨: 1000)\"},\"FEATURES_EMPTY\":{\"message\":\"features が未設定または空です\",\"suggestion\":\"info.json の features にデータセットの全カラムを定義してください\"},\"EPISODES_MISSING\":{\"message\":\"meta/episodes.jsonl が存在しないか読み取れません\",\"suggestion\":\"1 行 1 エピソードの JSON で meta/episodes.jsonl を作成してください\"},\"EPISODES_INVALID_JSONL\":{\"message\":\"episodes.jsonl の行の JSON 解析に失敗しました\",\"suggestion\":\"各行が有効な JSON オブジェクトであることを確認してください\"},\"EPISODES_EMPTY\":{\"message\":\"episodes.jsonl は空です\",\"suggestion\":\"episodes.jsonl にデータがあることを確認してください\"},\"EPISODES_COUNT_MISMATCH\":{\"message\":\"解析したエピソード数({{parsed}})が total_episodes({{expected}})と一致しません\",\"suggestion\":\"episodes.jsonl を再生成するか info.json の total_episodes を修正してください\"},\"ZERO_LENGTH_EPISODES\":{\"message\":\"{{count}} 件のエピソードの長さが 0 です\",\"suggestion\":\"各エピソードが正のフレーム数を持つよう episodes.jsonl を再生成してください\"},\"EPISODES_NO_LENGTH\":{\"message\":\"{{count}} 件のエピソードに length/num_frames がありません\",\"suggestion\":\"episodes.jsonl の各行に \\\"length\\\" を追加してください\"},\"TASKS_MISSING\":{\"message\":\"meta/tasks.jsonl が存在しないか空です\",\"suggestion\":\"1 行 1 JSON で tasks.jsonl を作成: {\\\"task_index\\\": 0, \\\"task\\\": \\\"説明\\\"}\"},\"DATA_FILE_MISSING\":{\"message\":\"データファイルが存在しません\",\"suggestion\":\"v2 形式で data/ に Parquet ファイルを生成してください\"},\"EPISODE_DATA_MISSING\":{\"message\":\"{{total}} 件中 {{missing}} 件の episode parquet がありません\",\"suggestion\":\"欠けている episode parquet を入手するか、完全なデータセットを開いてください\"},\"DATA_FILE_CHECK_FAILED\":{\"message\":\"データファイルの存在を確認できませんでした\",\"suggestion\":\"data/chunk-xxx/episode_xxxxxx.parquet が存在することを確認してください\"},\"VIDEO_FILE_MISSING\":{\"message\":\"動画ファイルが存在しません\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 を生成してください\"},\"VIDEO_FILE_CHECK_FAILED\":{\"message\":\"動画ファイルの存在を確認できませんでした\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 が存在することを確認してください\"},\"PARQUET_MISSING_COLS\":{\"message\":\"データ Parquet に必須カラムがありません: {{cols}}\",\"suggestion\":\"システムカラムを含むデータ Parquet を再生成してください\"},\"DEFAULT_FEATURE_MISSING\":{\"message\":\"システムフィールド {{key}} がありません\",\"suggestion\":\"meta/info.json の features に \\\"{{key}}\\\" を追加してください\"},\"FEATURE_INVALID\":{\"message\":\"features.{{key}} は有効なオブジェクトではありません\",\"suggestion\":\"各 feature が dtype と shape を持つオブジェクトであることを確認してください\"},\"DTYPE_MISSING\":{\"message\":\"features.{{key}}.dtype がありません\",\"suggestion\":\"dtype を追加してください(例: float32, int64, video, image, string)\"},\"DTYPE_INVALID\":{\"message\":\"features.{{key}}.dtype が無効です: {{dtype}}\",\"suggestion\":\"標準の dtype を使用してください\"},\"SHAPE_INVALID\":{\"message\":\"features.{{key}}.shape は正の整数の非空配列である必要があります\",\"suggestion\":\"shape を設定してください(例: [7], [3, 480, 640])\"},\"NAMES_INVALID\":{\"message\":\"features.{{key}}.names は配列ではありません\",\"suggestion\":\"names を文字列配列または null に設定してください\"},\"NAMES_LENGTH_MISMATCH\":{\"message\":\"features.{{key}}.names の長さ({{actual}})が shape の最終次元({{expected}})と一致しません\",\"suggestion\":\"names の長さを shape の最終次元と一致させてください\"},\"VIDEO_FPS_MISSING\":{\"message\":\"動画 feature {{key}} の fps が未設定または ≤0 です。info.fps を使用します\",\"suggestion\":\"オプション: この feature に fps を設定。未設定の場合は info.fps を使用\"},\"VIDEO_SHAPE_CHANNELS\":{\"message\":\"動画の shape チャンネル数が一般的ではありません\",\"suggestion\":\"通常は 3(RGB)です。[C,H,W] と [H,W,C] の両方に対応\"},\"VIDEO_SHAPE_NDIM\":{\"message\":\"動画 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"IMAGE_SHAPE_NDIM\":{\"message\":\"画像 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"EPISODES_PARQUET_MISSING\":{\"message\":\"meta/episodes の最初のファイルが存在しません\",\"suggestion\":\"v3 形式で meta/episodes/chunk-xxx/file-xxx.parquet を生成してください\"},\"EPISODES_PARQUET_INVALID\":{\"message\":\"meta/episodes の最初のファイルを Parquet として解析できませんでした\",\"suggestion\":\"episodes Parquet ファイルが有効であることを確認してください\"},\"DATA_PATH_TEMPLATE\":{\"message\":\"info.data_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの data パステンプレートを使用するか、カスタムパスを一貫させてください\"},\"VIDEO_PATH_TEMPLATE\":{\"message\":\"info.video_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの動画パステンプレートを使用してください\"},\"TASKS_PRESENT\":{\"message\":\"タスクメタデータを検出しました\",\"suggestion\":\"\"},\"EPISODE_COUNT\":{\"message\":\"{{count}} 件のエピソードを解析しました\",\"suggestion\":\"\"},\"TASK_COUNT\":{\"message\":\"{{count}} 件のタスクを解析しました\",\"suggestion\":\"\"},\"SPLITS_MISSING_TRAIN\":{\"message\":\"splits に \\\"train\\\" が必要です\",\"suggestion\":\"splits に少なくとも \\\"train\\\" キーを追加してください\"}}}}"),
|
|
4581
4553
|
summary: {
|
|
@@ -4820,14 +4792,6 @@ var hn = {
|
|
|
4820
4792
|
lastFrame: {
|
|
4821
4793
|
action: "最終フレーム",
|
|
4822
4794
|
key: "End"
|
|
4823
|
-
},
|
|
4824
|
-
subtaskStart: {
|
|
4825
|
-
action: "サブタスク開始を記録",
|
|
4826
|
-
key: "Q"
|
|
4827
|
-
},
|
|
4828
|
-
subtaskEnd: {
|
|
4829
|
-
action: "サブタスク終了を記録",
|
|
4830
|
-
key: "R"
|
|
4831
4795
|
}
|
|
4832
4796
|
},
|
|
4833
4797
|
welcome: {
|
|
@@ -4919,6 +4883,7 @@ var hn = {
|
|
|
4919
4883
|
},
|
|
4920
4884
|
export: {
|
|
4921
4885
|
title: "データセットをエクスポート",
|
|
4886
|
+
a11yDescription: "エクスポート形式と対象データセットバージョンを選び、ファイルまたはフォルダに書き出します。",
|
|
4922
4887
|
format: "エクスポート形式",
|
|
4923
4888
|
directory: "ローカルディレクトリ",
|
|
4924
4889
|
targetVersion: "対象バージョン",
|
|
@@ -4926,9 +4891,11 @@ var hn = {
|
|
|
4926
4891
|
changesSummary: "変更概要",
|
|
4927
4892
|
modifiedCount: "変更済み",
|
|
4928
4893
|
deletedCount: "削除済み",
|
|
4929
|
-
subtaskEpisodes: "
|
|
4930
|
-
|
|
4931
|
-
|
|
4894
|
+
subtaskEpisodes: "サブタスク付きエピソード",
|
|
4895
|
+
includeSubtasks: "サブタスクを含める",
|
|
4896
|
+
subtaskCoverageHint: "書き出す各エピソードはサブタスクをすべてラベルする必要があります。",
|
|
4897
|
+
subtaskCoverageMissing: "エピソード #{{index}} にはサブタスクのラベルがありません。",
|
|
4898
|
+
subtaskCoverageIncomplete: "エピソード #{{index}} のラベルが不完全です({{labeled}}/{{total}})。",
|
|
4932
4899
|
totalEpisodes: "エピソード総数",
|
|
4933
4900
|
metadataOnlyHint: "現在のエクスポートはメタデータのみ(info, episodes, tasks)です。",
|
|
4934
4901
|
export: "エクスポート",
|
|
@@ -4942,7 +4909,8 @@ var hn = {
|
|
|
4942
4909
|
percentDone: "{{percent}}%",
|
|
4943
4910
|
errorUnknown: "エクスポートに失敗しました",
|
|
4944
4911
|
cancelled: "エクスポートをキャンセルしました。",
|
|
4945
|
-
cancelExport: "エクスポートをキャンセル"
|
|
4912
|
+
cancelExport: "エクスポートをキャンセル",
|
|
4913
|
+
versionReadOnly: "このデータセットバージョンはエクスポートに対応しておらず、閲覧のみです。"
|
|
4946
4914
|
},
|
|
4947
4915
|
dialogs: {
|
|
4948
4916
|
remoteArchive: {
|
|
@@ -4977,7 +4945,9 @@ var hn = {
|
|
|
4977
4945
|
restoreHandleMissing: "保存されたファイルアクセスの有効期限が切れました。ファイルまたはフォルダを再度選択してください。",
|
|
4978
4946
|
restorePermissionDenied: "権限が拒否されました。ファイルまたはフォルダを再度選択してください。",
|
|
4979
4947
|
restoreHandleMismatch: "保存されたアクセスが無効です。ファイルまたはフォルダを再度選択してください。",
|
|
4980
|
-
restoreHandleNotFound: "ファイルまたはフォルダが移動または削除されました。再度選択してください。"
|
|
4948
|
+
restoreHandleNotFound: "ファイルまたはフォルダが移動または削除されました。再度選択してください。",
|
|
4949
|
+
insecureOriginPickerFallback: "セキュアなオリジンではないため、ファイル選択に切り替えました。localhost または HTTPS を推奨します。",
|
|
4950
|
+
insecureOriginExportDirectory: "フォルダへの書き出しには localhost または HTTPS が必要です。"
|
|
4981
4951
|
},
|
|
4982
4952
|
pagination: {
|
|
4983
4953
|
previous: "前へ",
|