{ "app": { "title": "Orisys AutoCal 标定台控制", "about_title": "关于 Orisys AutoCal", "about_body": "Orisys AutoCal — 五轴标定台内部控制器\n版本: {app_version}\n共享库: {shared_version} (API {api_version})\n\nQt 绑定: {binding}\n控制器库: {dll_dir}\n偏好文件: {prefs_path}\n\n仅供内部使用。", "internal_notice": "内部工具:不随客户安装包发布。" }, "brand": { "name": "ORISYS", "detail": "叠动科技" }, "menu": { "file": "文件", "device_setup": "设备设置…", "open_bas": "下载 BAS 初始化程序…", "reveal_config": "在资源管理器中显示配置…", "quit": "退出", "view": "视图", "theme": "主题", "theme_dark": "深色", "theme_light": "浅色", "language": "语言", "lang_zh": "简体中文", "lang_en": "English", "show_diagnostics": "诊断信息", "tabs": "工作区", "outputs": "输出目录", "help": "帮助", "about": "关于 AutoCal" }, "setup": { "open": "设备设置", "title": "设备设置", "hint": "连接与总线初始化每次开机只需确认一次,因此收进这里;顶栏状态条持续显示结果,设置窗口可以一直开着。", "tab_connection": "连接", "tab_bus": "总线初始化", "tab_axes": "轴映射", "axes_hint": "总线只报告轴号,不报告它推的是哪个方向。这里的对应关系来自实际接线,运动前必须完整且不重复。", "role_x": "X(工作台)", "role_y": "Y(工作台)", "role_z": "Z(压轴)", "role_yaw": "yaw(回转)", "role_pitch": "pitch(俯仰)", "role_axis": "驱动器", "axes_duplicate": "同一驱动器被分配给多个方向:{detail}", "close": "关闭", "chip_hint": "点击打开设备设置 — {name}" }, "move": { "execute": "执行动作", "execute_hint": "把选中点解算出的位姿送到平台:回转、俯仰、工作台 X/Y、压轴 Z 同时移动。", "stop": "停止", "stop_hint": "立即停止所有轴(与顶栏「全部停止」相同)。", "return_initial": "回初始位", "return_hint": "回转、俯仰、压轴 Z 回到 0。工作台停在初始位置:X 为 -1.0 mm,Y 为向前 15.0 mm。", "confirm_title": "确认运动", "confirm_execute": "将同时移动:\n\n{steps}\n\n请确认仿真与机床一致。", "confirm_return": "将同时移回零点:\n\n{steps}\n\n请确认机床上没有干涉。", "hold_note": "不动作:{roles}(压轴由 P7 的接触检测与压深另外管)", "cancelled": "已取消,未发出任何运动", "confirm_check": "移动前确认", "confirm_hint": "取消勾选后,执行动作与回初始位将直接发出(停止不受影响)。", "no_point": "未选中标定点,无法执行", "busy": "已有运动在执行", "refused": "运动被拒绝", "done": "运动完成", "failed": "运动失败", "stopped": "已停止,后续动作已取消" }, "connection": { "title": "连接控制器", "mode": "连接方式", "mode_eth": "以太网", "mode_com": "串口", "mode_pci": "PCI 卡", "mode_local": "本地/仿真", "mode_demo": "演示 (无硬件)", "ip": "IP", "scan": "IP 扫描", "com": "串口号", "card": "卡号", "local_string": "连接参数", "open": "连接", "close": "断开连接", "status": "状态", "state_open": "已连接", "state_closed": "未连接", "state_connecting": "连接中…", "source": "库路径", "no_more": "连接方式『{mode}』暂未提供。" }, "bus": { "title": "总线初始化", "bas_path": "BAS 文件", "choose": "选择 BAS…", "download": "下载并初始化", "reinit": "重新初始化", "type": "总线类型", "type_ecat": "EtherCAT", "type_rtex": "RTEX", "type_unknown": "未知", "state": "初始化状态", "state_pending": "未完成", "state_running": "正在初始化…", "state_ok": "初始化成功", "state_unverified": "未确认初始化", "unverified_hint": "控制器保留了上次的总线初始化标志,本次开机尚未重新扫描;如无法运动,请先下载 BAS 文件并重新初始化。", "state_failed": "初始化失败", "state_timeout": "初始化超时", "nodes": "节点数量", "axes": "轴数量", "downloaded": "文件已下载,控制器将延时扫描总线", "dialog_title": "选择 BAS 文件" }, "axes": { "title": "轴运动", "axis": "轴号", "enable": "使能", "enable_on": "已使能", "enable_off": "未使能", "atype": "轴类型", "units": "脉冲当量", "speed": "速度", "accel": "加速度", "dpos": "命令位置", "mpos": "反馈位置", "dpos_mm": "命令位置 (mm)", "mpos_mm": "反馈位置 (mm)", "status": "轴状态", "motion": "运动状态", "motion_word": "运动", "idle": "停止", "moving": "运动中", "position_pair": "{value} ({mm} mm)", "enable_all": "全部使能", "disable_all": "全部关闭使能", "clear_alarm_all": "清除全部报警", "detail": "选中轴 {axis}: 轴类型 {atype} · 加速度 {accel} · 反馈 {mpos} ({mpos_mm} mm) · 轴状态 {status} · {home}", "detail_none": "选中轴 {axis}: 尚无数据(未连接或未初始化)", "home_status": "回零状态", "home_ok": "回零完成", "home_pending": "回零未完成", "home_running": "回零中", "jog_fwd": "正转", "jog_rev": "反转", "stop_all": "全部停止", "stop": "停止", "target": "目标位置", "move_abs": "绝对定位", "move_rel": "相对运动", "home_mode": "回零模式", "home_high": "回零高速", "home_low": "回零低速", "home_offset": "回零偏移", "clear_alarm": "清除报警", "apply": "应用参数", "home": "启动回零", "controls": "操作", "mm_derived_tip": "毫米值由脉冲当量换算得出,是显示值,不是标定长度。", "enabled_count": "已使能 {on}/{total} 轴" }, "busdata": { "title": "总线数据交互", "group": "总线数据 (SDO / RTEX)", "ecat": "EtherCAT (SDO)", "rtex": "RTEX", "node": "节点号", "index": "对象字典", "subindex": "子编号", "type": "数据类型", "value": "数据", "read": "读", "write": "写", "axis": "轴号", "parameter": "参数地址", "last_result": "最近一次: {text}", "not_available": "当前总线不支持该操作", "read_ok": "读取成功: {value}", "write_ok": "写入成功" }, "status": { "motion": "运动控制", "ready": "就绪", "poll_ok": "状态刷新正常", "poll_paused": "状态刷新已暂停", "poll_stalled": "状态刷新中断", "last_error": "最近错误", "none": "无", "refused": "操作被拒绝", "done": "完成", "failed": "失败", "pause": "暂停刷新", "resume": "继续刷新", "paused": "已暂停状态刷新", "alarm_short": "报警", "axes_enabled": "已使能 {on}/{total} 轴", "health_none": "刷新 —", "health_age": "刷新 {ms} ms 前", "health_paused": "刷新已暂停", "poll_every": "刷新间隔 {ms} ms" }, "run": { "title": "运行", "phase_idle": "空闲", "phase_dry_run": "干跑中", "phase_running": "运行中", "phase_paused": "已暂停", "phase_done": "已完成", "phase_failed": "失败", "step_of": "第 {done}/{total} 点", "no_steps": "尚未生成标定点", "elapsed_only": "已用 {elapsed}", "elapsed_remaining": "已用 {elapsed} · 预计剩余 {remaining}", "run": "运行", "pause": "暂停", "abort": "中止", "abort_stopped": "已中止运行并停止全部轴。", "not_implemented": "运行器属于 P7 阶段,尚未实现;中止随时可用。" }, "readout": { "title": "轴状态" }, "workspace": { "tab_axes": "轴调试", "tab_sequence": "测试序列", "tab_finger": "手指调试", "tab_sensor": "标定采集", "tab_records": "标定记录", "not_built": "尚未实现", "reserved_sensor": "传感器连接、实时图像与力曲线将在此显示:设备与信号源选择、预览、以及和 Studio 类似的曲线视图(占用空间更小)。" }, "source": { "kind": "输入来源", "kind_video": "视频文件", "kind_camera": "实时相机", "video": "Finger 视频", "camera_index": "相机编号", "config": "传感器配置", "browse": "选择…", "start": "启动输入", "stop": "停止", "idle": "请选择输入来源和 sensor.json", "no_frame": "等待处理后的画面", "preview_only": "先在选择测点页确定 U/V,再在此检查实时二维 UV 图像并开始试验记录。", "choose_video": "选择 Finger 视频", "choose_config": "选择 sensor.json", "video_filter": "视频文件 (*.mp4 *.avi *.mov *.mkv);;所有文件 (*)", "missing_input": "请选择存在的 sensor.json;视频模式还需选择视频文件", "opening": "正在打开输入…", "running": "正在处理画面", "stopping": "正在停止…", "stopped": "已停止", "finished": "视频播放完毕", "disconnected": "相机连接中断", "failed": "采集失败,请检查输入来源", "error": "采集或处理失败:{detail}", "basis_replay": "本次解码", "basis_camera": "相机接收", "basis_unknown": "读取时间(来源未确认)", "frame": "帧 {frame} · 源帧 {source_frame} · {basis} {time} · 丢帧 {dropped}" }, "calibration": { "sensor_model": "产品型号", "sensor_sn": "传感器 SN", "output": "保存目录", "site_view": "选择测点", "live_view": "实时二维 UV 图像", "uv": "U / V (px)", "position": "网格坐标", "levels": "加载档位 (N)", "hold": "每档保持时间", "hold_tip": "到达目标力并确认后倒计时;到时结束该档保持窗口并提示下一档,录像持续。计时不代表已验证稳定。", "reference": "人工参考力 (N)", "start": "开始本次试验", "start_tip": "在本场标定下新建一次测点试验,连续记录初始零载、加载、卸载和恢复。不会移动平台。", "confirm": "已到目标力,开始保持", "confirm_tip": "达到当前目标并填写实际参考力后点击。保持期间不要换档;倒计时结束后再按提示调整。", "finish": "完成本次试验", "finish_tip": "初始零载及全部加载、卸载保持完成后停止录像,检查并保存本次结果。", "abort": "提前结束(保留未完成数据)", "abort_tip": "立即结束本次试验并保留未完成数据。重试创建新的 trial,仍归入本场标定。", "load": "加载", "unload": "卸载", "next_step": "当前目标:{branch} {load:g} N;到达后填写实际参考力并开始保持", "before_start": "先选测点并启动输入,再开始试验;先记录初始零载", "ready_to_finish": "所有保持窗口已完成,请完成本次试验", "no_step": "无待确认档位", "progress": "进度 {done}/{total} · {status}", "source_state": "输入:{status} · 帧 {frame} · 采集丢帧 {dropped}", "replay_note": "视频重放仅用于调试;本次人工参考力不能与原实验时间同步。", "idle": "未开始", "recording": "录制中", "closing": "正在写盘", "complete": "已完成", "incomplete": "未完成", "result": "{status}:{path}", "incomplete_result": "本次录制未完成;已写入的数据在:{path}", "error": "操作失败:{detail}", "invalid_site": "请先选择有效的 UV 测点", "start_input": "请先启动相机或视频输入", "reference_required": "请输入实际参考力", "output_required": "请选择保存目录", "zero": "初始零载", "holding": "正在保持:{branch} {load:g} N · 剩余 {seconds:.1f} s;请勿换档", "close_session": "结束本场标定", "close_session_tip": "关闭包含多个测点和重复试验的会话;有未完成试验则保留未完成状态。之后开始试验会新建一场。", "session_none": "尚未建立本场标定;首次开始试验时创建。", "session_active": "本场标定:{sites} 个测点 · {trials} 次试验\n{path}", "session_closed": "本场标定已结束({status}):{path}", "close_before_mapping": "请先结束本场标定,再更换 UV 映射或导出包", "path": "本次路径 (N):{path}", "invalid_levels": "请输入严格递增的加载档位,每档大于 0 且不超过 30 N" }, "multipoint": { "tab": "02 多点采集", "hint": "测点直接用标定采集「选择测点」里点中的位置。添加时会用法向解出平台姿态,使该点法向朝上。点「对齐法向」会先询问再移动五个轴;未连接控制器时不会动,原因写在本页下方。模拟采集不移动平台。砝码参考由人工填写。六维力参考记录三个分量,再按你填写的旋转投影到刀具轴,不会把某一轴直接当成法向。换点前确认压头已脱离。", "site_id": "测点编号", "coordinates": "位置 X / Y / Z", "levels": "该点加载档位 (N),不含空载", "hold": "保持时间", "repeats": "重复次数", "frame": "坐标所在坐标系", "frame_placeholder": "填写坐标系名称,程序不解释、不换算", "min_force": "最小力 (N)", "min_placeholder": "空着表示 0;空载基线总会记录", "max_force": "最大力 (N)", "force_placeholder": "必须填写,程序不预设", "force_required": "请填写最大力,程序不会替你假设", "add": "添加测点", "update": "更新所选", "remove": "删除所选", "up": "上移", "down": "下移", "import_points": "从手指调试导入", "align": "对齐法向", "reacquire": "补采所选", "source": "参考力来源", "source_weight": "砝码", "source_wrench": "六维力", "fx": "Fx", "fy": "Fy", "fz": "Fz", "rotation": "力传感器到刀具的旋转", "rotation_placeholder": "9 个数,行优先。不填不能计算法向力", "reference": "实测参考力 (N)", "simulate": "模拟采集", "start": "开始采集", "confirm": "已到目标力,开始保持", "liftoff": "确认压头已脱离传感器", "stop": "停止并保留数据", "stopped_reason": "操作员停止", "finger_busy": "单点试验进行中,请先结束再开始多点采集", "camera_required": "开始采集前请先启动相机或视频输入。没有图像时用模拟采集,模拟不会打开相机,也不会移动平台。", "liftoff_wait": "上一点已卸载。下一点是 {site}。先抬起接触头,再点「对齐法向」并确认,平台才移到这个点、法向朝上。到位后再点「确认压头已脱离传感器」。程序不会自动移动。总进度 {done}/{total}", "progress": "测点 {site}({site_index}/{site_count})· {branch} {load:g} N · 重复 {repeat}/{repeats} · 总进度 {done}/{total} · 剩余 {seconds:.1f} s", "idle": "尚未开始。先在「选择测点」里点一个位置,再添加测点,然后模拟采集或开始采集。", "pose": "求解姿态:工作台 X {x:.3f} mm,Y {y:.3f} mm,yaw {yaw:.3f}°,pitch {pitch:.3f}°,Z {z:.3f} mm,残差 {residual:.3f}°。点「对齐法向」后才会询问并移动平台。", "no_pose": "这个测点还没有法向。请在「选择测点」里点一个有效位置,再点「添加测点」或「更新所选」。", "no_map": "请先载入传感器导出包,让「选择测点」出现曲面。", "no_solver": "姿态求解还没有接上。", "align_select": "请先在左边表里点中要去的测点,再点「对齐法向」。", "pose_refused": "这个点的姿态不能执行:{reason}", "no_finger": "手指调试页面还没有接上。", "no_finger_points": "手指调试里还没有选点。", "branch_baseline": "空载", "branch_load": "加载", "branch_unload": "卸载", "mesh_required": "请先在右侧用 U/V 选出测点,出现网格坐标后再添加。", "right_confirm": "这一档用右侧:砝码填写人工参考力;六维力填写左侧 Fx、Fy、Fz。然后点「已到目标力,开始保持」。", "save": "保存状态:{status}\n{path}", "save_idle": "尚未保存", "save_writing": "正在写入", "save_kept": "已停止,已经采集的数据保留在目录中", "save_done": "本场已完成", "col_id": "编号", "col_x": "X", "col_y": "Y", "col_z": "Z", "col_levels": "档位 (N)", "col_hold": "保持 (s)", "col_repeats": "重复", "col_done": "完成" }, "finger": { "title": "手指标定点调试", "bundle_path": "导出包", "load": "载入导出包…", "reset_view": "复位视角", "initial_view": "初始视角", "textured": "UV 贴图:{name}", "untextured": "无 UV 贴图:当前显示的是着色布局图。", "texture_missing": "未找到贴图 {path}:当前显示的是着色布局图。", "flat_title": "展开平面图(点击选点)", "readout_title": "读数", "preview_title": "三维预览", "points_title": "已选标定点", "select_hint": "在展开图上点击一点以选取标定点。", "no_bundle": "尚未载入导出包。", "no_surface": "像素 ({x}, {y}) 不在传感面上(UV 空隙)。", "row_sensor_point": "传感器坐标 (mm)", "row_sensor_normal": "曲面法向", "row_platform_point": "平台坐标 (mm)", "row_pose": "位姿 X / Y / yaw / pitch", "row_table_move": "工作台移动 X / Y", "row_residual": "对齐残差", "row_frames": "坐标映射", "tool_xy": "刀具 X / Y", "tool_hint": "刀具在工作台坐标系中的位置。每个测点的工作台移动都相对这个位置计算。", "sensor_xy": "传感器 X / Y", "sensor_zy": "传感器 Z / yaw", "setup_hint": "传感器在转台零位时相对工作台原点的实际安装位姿:X/Y/Z 平移与绕 Z 的偏摆。Z 为安装板厚度,当前安装台是 8 mm。", "clear_points": "清空标定点", "remove_selected": "删除所选", "move_up": "上移", "move_down": "下移", "selected_count": "已选 {count} 点", "table_hint": "勾选复选框选中该点;双击传感器坐标或法向即可修改。位姿列由这些数值解算得出,会自动更新。", "edit_not_a_number": "该单元格需要数字,已保留原值。", "point_count": "共 {count} 点", "residual_value": "{residual}° — {verdict}", "reachable": "该点法向可与 Z 轴对齐", "unreachable": "该点法向无法与 Z 轴对齐(受 yaw 行程限制)", "reach_summary": "曲面可对齐顶点 {aligned}/{vertices}({share}%),最差 {worst}°", "preview_legend": "颜色含义:绿→红=表面对齐残差;红/绿/蓝三色轴=工作台 X/Y/Z(位于原点);黄色直线=刀具轴(+Z 目标方向,位置即刀具 X/Y);橙色圆点=工作台原点;黄色方框=传感器安装基面(高度=传感器 Z,含安装板);青色线=规划路径(先转台圆弧、后工作台直线);紫圈=转台当前姿态,浅紫圈=动作结束时的姿态,与不动的方格网对比即可看出整个变换;红点=表中选中点;白点+蓝线=取点接触点及其法向。", "preview_legend_short": "绿→红=对齐残差 · 红/绿/蓝=工作台 X/Y/Z · 黄线=刀具轴(+Z) · 橙点=原点 · 黄框=安装基面 · 青线=规划路径 · 紫圈=转台姿态 · 白点=接触点", "show_axes": "显示运动轴", "show_table": "显示转台原点平面", "show_trajectory": "显示刀具路径", "path_summary": "规划路径:行程 {reach} mm;绕转台原点的圆弧半径 {radius} mm。", "landing": "落点 X/Y {x} {y} mm", "tool_at": "刀具 X/Y {x} {y} mm", "landing_on_tool": "✓ 已对准", "landing_off_tool": "✗ 未对准(差 {gap} mm)", "preview_legend_table": "灰细线=两个旋转轴(穿过同一个原点);转台坐标系固定不动,传感器随动作相对它移动。", "sim_play": "播放动作", "sim_stop": "停止", "sim_hint": "播放该点的求解动作:先由转台把法向转到工具轴上,再由 XY 工作台移动。请先取点。", "preview_no_gl": "无 OpenGL 上下文:{error}", "preview_draw_failed": "绘制失败:{error}", "preview_solve_failed": "求解失败:{error}", "col_x": "x", "col_y": "y", "col_z": "z", "col_nx": "nx", "col_ny": "ny", "col_nz": "nz", "col_X": "X", "col_Y": "Y", "col_Z": "Z", "col_yaw": "yaw", "col_pitch": "pitch", "col_residual": "残差(°)", "loaded": "已载入导出包:{vertices} 顶点 · {triangles} 三角面 · {extent} mm · 每单位 {scale} mm", "load_failed": "载入失败: {error}", "picked": "已选点:残差 {residual}° · yaw {yaw}° · pitch {pitch}°", "export_sites": "导出测点操作表…", "export_sites_tip": "按当前列表顺序导出全部测点的 U/V 像素、传感器与平台毫米坐标;与标定页共用 UV 原点。", "export_no_points": "请先在 UV 图上选择测点", "export_edited_point": "第 {order} 点的三维位置已改动,与原 UV 像素不一致;请重新在图上选点后导出", "sites_exported": "已导出测点操作表:{path}", "col_u_px": "U (px)", "col_v_px": "V (px)" }, "sequence": { "title": "测试序列设计", "profile_title": "标定点生成", "preview_title": "预览", "validation_title": "校验", "points_title": "标定点列表", "field_mode": "曲面模式", "field_name": "序列名称", "field_note": "备注", "field_pitch": "点距 (mm)", "field_margin": "边界余量 (mm)", "field_radius": "曲面半径 (mm)", "field_clear_height": "安全高度 (mm)", "field_approach_speed": "进给速度 (mm/s)", "field_press_speed": "下压速度 (mm/s)", "field_press_depth": "下压深度 (mm)", "field_dwell": "保压 (s)", "field_settle": "稳定窗口 (s)", "field_repeats": "重复次数", "field_order": "遍历顺序", "mode_flat": "平面", "mode_curved": "曲面", "order_row": "按行", "order_serpentine": "蛇形", "order_distance": "按距离", "preview_placeholder": "三维预览:传感器表面 · 标定点 · 遍历顺序\n(仿真阶段实现)", "preview_hint": "生成后可在此检查点是否落在曲面上、是否在行程内、接触能否被确认。", "validation_pending": "尚未生成标定点。", "check_on_surface": "在曲面范围内", "check_within_travel": "在行程内", "check_contact_confirmable": "接触可确认", "btn_generate": "生成标定点", "btn_simulate": "仿真", "btn_dry_run": "干跑(不接触)", "btn_export": "导出序列…", "btn_import": "导入序列…", "import_export_tip": "序列以 JSON 文档保存(.oryseq),可跨机器复用;导入前会校验格式版本。", "export_failed": "导出失败: {error}", "import_failed": "导入失败: {error}", "pending_tooltip": "该功能属于 {phase} 阶段,尚未实现。", "col_index": "#", "col_x": "X (mm)", "col_y": "Y (mm)", "col_z": "Z (mm)", "col_status": "状态", "col_sensitivity": "灵敏度(上次)", "col_samples": "样本", "col_actions": "操作", "not_generated": "—", "status_pending": "待测", "status_skipped": "已跳过", "summary": "{count} 点({enabled} 启用) · {spans} · 预计 {duration}(估计值)", "summary_empty": "尚无标定点:生成或导入后显示点数与行程范围。", "dialog_export": "导出序列", "dialog_import": "导入序列", "filter_sequence": "标定序列 (*.oryseq *.json)", "exported": "已导出序列: {name}", "imported": "已导入序列: {name}({count} 点)", "import_warnings": "导入有 {count} 项提示", "confirm_discard": "当前序列尚未导出,导入将替换它。是否继续?", "points_hint": "坐标由网格生成并逐点校验,不接受手工输入:手工输入的坐标没有任何检查,一个错数字会毁掉整条序列。" }, "action": { "ok": "完成", "refused": "已拒绝", "failed": "失败" }, "diagnostics": { "title": "诊断信息", "binding": "Qt 绑定", "dll_dir": "控制器库", "prefs": "偏好文件", "outputs": "输出目录", "bas_loaded": "BAS 已加载", "yes": "是", "no": "否" }, "feedback": { "waiting": "等待力信号", "uncalibrated": "无 N 值", "stopped": "输入已停止;显示最后一帧,数值不再更新。", "stale": "尚无新帧或超过 1 秒未更新,请检查输入。", "invalid": "当前力信号无效:{reason}", "raw_note": "实时原始力信号(最近 60 秒);raw 不能直接当作 N。人工参考力由操作者另行填写。", "overflow": "预览漏显 {count} 帧;请检查采集记录的丢帧状态", "raw_axis": "原始力信号 (raw)", "time_axis": "采集时间 (s)", "background": "真实背景", "background_tip": "勾选显示真实 UV 图像;取消显示纯色背景。深度颜色可叠加在两种背景上。", "arrows": "位移箭头", "depth": "深度", "depth_tip": "显示算法深度/形变信号的伪彩色,不表示已标定的毫米深度。", "depth_scale": "形变色阶自动适应本帧:{low:.4g}–{high:.4g}(算法单位,非 mm)", "depth_missing": "本帧无有效深度/形变信号", "flow_missing": "本帧无有效位移信号" }, "overview": { "capture_in_progress": "采集中", "saved": "分析结果已保存;保存位置见提示。", "open_session": "打开标定会话…", "empty": "请选择包含 session.json 的会话文件夹,查看已采集测点、法向响应和灵敏度;也可从标定采集页打开本场数据。", "title": "标定记录总览", "notice": "查看实际采集覆盖与法向响应;点击 UV 点或表格联动。圆点为已确认窗口,方点为候选窗口;各 trial 用不同明暗度。拟合线为本测点全部符合条件的加载数据,筛选 trial 不会重新拟合。", "coverage": "采集状态", "sensitivity": "法向灵敏度", "import_plan": "导入计划测点 CSV…", "clear_plan": "清除计划对照", "load": "载入历史分析…", "save": "保存分析结果", "summary": "已采 {collected} 点/计划 {planned} 点;漏采 {missing};有未完成试验 {incomplete};待检查 {pending};已检查 {reviewed};计划外 {extra}。", "no_plan": "未导入计划,暂不能判断漏采点。", "uncollected": "尚未采集", "incomplete": "有未完成试验", "pending": "待检查", "reviewed": "稳定段已检查", "confirmed": "已检查", "candidate": "待检查", "coverage_map": "红:有未完成试验;橙:待检查;绿:已检查;灰:未采", "sensitivity_map": "已确认灵敏度:蓝→红 {low:.4g}→{high:.4g} raw/N
灰:无已确认拟合", "details": "检查保持段…", "trial_filter": "显示试验", "all_trials": "全部 trial", "site_fit": "测点加载拟合(全部符合条件的 trial)", "response_title": "法向响应:参考力 → 原始信号", "selected_fit": "灵敏度 {sensitivity} raw/N · {basis}。拟合按本点全部合格加载窗口计算;范围及试验数见测点提示。", "no_windows": "所选试验没有可分析的完整窗口;可查看已有原始信号和结束原因。", "col_order": "计划序号", "col_site": "采集测点", "col_uv": "U / V (px)", "col_xyz": "传感器 XYZ (mm)", "col_status": "分析准备状态", "col_trials": "完成/全部 trial", "col_windows": "确认/完整窗口", "col_levels": "已确认加载档位 (N)", "col_sensitivity": "灵敏度 (raw/N)/依据", "col_range": "拟合范围 (N)", "col_fit_trials": "拟合 trial 数", "tools": "计划/历史分析", "identity": "型号:{model} SN:{sn} 采集时间:{date} 来源:{source} 采集:{status}", "source_video": "视频重放(仅调试)", "source_camera": "相机", "timeline": "时间曲线/记录诊断", "response": "加载/卸载响应", "time_axis": "距各试验首个有效样本 (s)", "reference_axis": "人工参考力 (N)", "timeline_title": "蓝:FN_raw;橙:人工保持参考力(不是实时 FT)", "no_trace": "没有可读的有效信号;请查看下方记录诊断", "outline_snapshot": "灰:传感面轮廓;蓝:彩色 patch 区域轮廓(采集快照)", "outline_surface_only": "传感面映射已核对;未保存彩色 patch 轮廓,无法恢复。", "outline_unavailable": "找不到记录对应的 UV 轮廓;仅显示测点。", "outline_mismatch": "UV 轮廓与记录映射不一致,已停用叠加。", "analysis_reviewed": "稳定段已检查", "analysis_pending": "待检查稳定段", "analysis_no_analysis": "无可分析窗口", "site_details": "XYZ (mm):{xyz}\n完成/全部试验:{attempts}\n拟合范围 (N):{range};拟合试验数:{trials}", "inspect_incomplete": "查看中止记录", "diagnostic": "{trial} · {status}|有效样本 {samples};无效/未关联 {invalid};录像丢帧 {dropped};最大帧间隔 {gap} s\n结束原因:{reason}", "read_errors": "缺失或无法读取:{detail}", "choose_trial": "请选择单次试验查看完整性、丢帧及结束原因;全部试验曲线按各自起点对齐。", "unsaved": "窗口或计划已修改,尚未保存。", "save_hint": "确认稳定只表示检查过信号,不代表标定精度合格。", "guide_missing": "① 核对身份 → ② 选测点/试验 → ③ 检查稳定段 → ④ 保存\n下一步:此点尚未采集,请选择已采点或安排补采。", "guide_incomplete": "① 核对身份 → ② 选测点/试验 → ③ 检查稳定段 → ④ 保存\n下一步:查看结束原因及已录曲线,决定补采;未完成试验不参与拟合。", "guide_check": "① 核对身份 → ② 选测点/试验 → ③ 检查稳定段 → ④ 保存\n下一步:选择单次试验,点击“检查保持段…”;必要时调整时间区间。", "guide_save": "① 核对身份 → ② 选测点/试验 → ③ 检查稳定段 → ④ 保存\n下一步:继续检查剩余保持段,或保存当前分析结果。" }, "quality": { "open": "重复性与验证…", "title": "测点质量分析", "notice": "仅使用人工已确认的有效窗口;结果仍为初步分析。视频调试、人工稳定确认及 trial 留出验证均不能证明实物准确度或参考力同步。", "repeatability": "重复性", "repeatability_note": "相同分支、相同人工参考力下,先计算各 trial 的均值,再计算 trial 间极差和样本标准差。至少两次 trial 才有重复性统计;这不同于保持段内波动。", "hysteresis": "加载/卸载差异", "hysteresis_note": "只配对同一 trial 内人工参考力完全相同的非零加载与卸载窗口,不插值。差值为卸载减加载,单位 raw;缺少匹配档位时不生成结果。", "zero_return": "零载恢复", "zero_return_note": "同一 trial 的最终卸载零载减初始零载,单位 raw;只配对人工参考力为 0 N 的已确认窗口。", "validation": "独立 trial 验证", "validation_note": "逐次留出一个完整 trial,用其余 trial 的零载/加载窗口拟合,再预测留出 trial 的全部已确认窗口。每窗口等权;这是交叉验证,不能代替另一场独立实验。", "validation_summary": "验证窗口 {count} 个;RMSE {rmse} N;MAE {mae} N;最大绝对误差 {maximum} N;超出训练 raw 范围 {outside} 个。", "no_data": "尚无可用数据,请先复核所需窗口。", "insufficient_training": "其余 trial 的训练数据不足", "outside_range": "超出训练 raw 范围", "in_range": "训练 raw 范围内", "col_branch": "阶段", "col_load": "人工参考力 (N)", "col_trials": "trial 数", "col_range": "trial 间极差 (raw)", "col_std": "trial 间样本标准差 (raw)", "col_trial": "trial", "col_load_raw": "加载均值 (raw)", "col_unload_raw": "卸载均值 (raw)", "col_delta_raw": "差值 (raw)", "col_initial_zero": "初始零载 (raw)", "col_final_zero": "最终零载 (raw)", "col_held_out": "留出验证 trial", "col_training": "训练 trial", "col_predicted": "预测力 (N)", "col_error": "预测减参考 (N)", "col_range_status": "范围/状态" }, "review": { "load_selection": "载入历史分析…", "confirm_stable": "此时间段已检查稳定", "apply_window": "确认选中时间段并重算", "start_offset": "起点", "end_offset": "终点", "verified": "人工已确认稳定", "confirmed_fit": "拟合使用人工确认窗口;仍需独立验证。", "candidate_fit": "拟合使用候选窗口;人工确认数据尚不足。", "valid_samples": "有效原始样本", "hold_time_axis": "距保持开始 (s)", "trace_title": "选中保持段原始信号;竖线为分析窗口边界", "selection_unsaved": "窗口已应用;请另存分析结果以保留复核。", "open": "查看标定数据…", "title": "保持段检查", "notice": "选择保持段 → 检查曲线、标准差及漂移 → 调整起止时间 → 确认稳定并重算 → 保存。人工确认不是精度验收。", "save": "保存分析结果", "no_sites": "会话没有测点", "candidate": "候选窗口", "insufficient_samples": "有效样本不足", "replay": "视频调试", "unverified": "稳定性未复核", "fit": "加载分支初步拟合:灵敏度 {sensitivity_raw_per_n:.6g} raw/N;增益 {gain_n_per_raw:.6g} N/raw;偏置 {offset_n:.6g} N;拟合 RMSE {rmse_n:.4g} N(不是独立验证误差)", "no_fit": "有效载荷或原始信号变化不足,无法拟合。", "fit_line": "加载初步拟合", "raw_axis": "原始法向信号 (raw)", "force_axis": "人工参考力 (N)", "chart_title": "各保持窗口均值:加载/卸载对照", "uv_title": "测点初步灵敏度:蓝→红 {low:.4g}→{high:.4g} raw/N;灰色无拟合", "issues": "{count} 次未完成试验不参与拟合;请按原始曲线检查稳定性。", "saved": "已另存:{path}", "col_trial": "试验", "col_branch": "阶段", "col_load": "参考力 (N)", "col_samples": "有效样本", "col_mean": "原始均值", "col_std": "原始标准差", "col_duration": "保持 (s)", "col_quality": "质量说明", "col_drift": "漂移 (raw/s)" } }