Files
orisys-app/apps/autocal/config/locales/zh_CN.json
T

736 lines
38 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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}",
"tab_press": "压轴零位",
"press_hint": "解算给出的是接触点在台面原点平面之上的几何高度(mm);驱动器收到的是它自己的坐标,从它自己的机械零位算起。两者只差一个实机测量值。没有标定之前,执行动作会保持压轴不动,而不会把几何高度当成控制器目标直接下发。",
"press_zero": "零点(压头触到台面原点平面时的读数)",
"press_rising": "坐标增大时压头上升",
"press_calibrated": "已在本机测量并确认",
"press_set": "已标定:压轴目标 = 零点 ± 接触高度。",
"press_unset": "未标定:执行动作会保持压轴不动。",
"close": "关闭",
"chip_hint": "点击打开设备设置 — {name}"
},
"move": {
"execute": "执行动作",
"execute_hint": "把选中点解算出的位姿送到平台:回转、俯仰、工作台 X/Y、压轴 Z 同时移动。",
"stop": "停止",
"stop_hint": "立即停止所有轴(与顶栏「全部停止」相同)。",
"return_initial": "回初始位",
"return_hint": "回转、俯仰、压轴 Z 回到 0。工作台停在初始位置:X 为 0 mm,Y 为 0 mm。",
"confirm_title": "确认运动",
"confirm_execute": "将同时移动:\n\n{steps}\n\n请确认仿真与机床一致。",
"confirm_return": "将同时移回零点:\n\n{steps}\n\n请确认机床上没有干涉。",
"hold_note": "不动作:{roles}(这些轴保持现状,不参与本次动作)",
"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": "请先在左边表里点中要去的测点,再点「对齐法向」。",
"align_busy": "这一轮还在采集:等它结束再对准其它测点,中途移动平台会让这次记录作废。",
"pose_refused": "这个点的姿态不能执行:{reason}",
"point_moved": "这个点记录的坐标与当前映射不符(相差 {mm} mm)。请重新在「选择测点」里取这个点并确认,不要用旧记录移动平台。",
"normal_moved": "这个点记录的法向与当前映射不符(相差 {deg}°)。请重新在「选择测点」里取这个点并确认。",
"point_unmapped": "这个点没有可用的来源坐标(既没有 UV 映射,也不是传感器坐标)。请重新在「选择测点」里取这个点。",
"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_branch": "所选姿态与理由",
"row_table_move": "工作台移动 X / Y",
"row_press": "压轴目标",
"row_residual": "对齐残差",
"row_match": "点位匹配",
"match_none": "先在展开图上选一个点",
"match_offline": "未连接平台",
"match_value": "选择 X {sx} Y {sy} mm,回转 {syaw}°,俯仰 {spitch}°。实际 X {ax} Y {ay} mm,回转 {ayaw}°,俯仰 {apitch}°。差 X {dx} Y {dy} mm,回转 {dyaw}°,俯仰 {dpitch}°",
"row_frames": "坐标映射",
"branch_none": "—",
"branch_value": "{reason}(本解合计 {travel}°,另一精确解 {other}°)",
"branch_only": "唯一精确解",
"branch_alignment": "残差最小",
"branch_in_range": "行程内",
"branch_upright": "传感面仍朝上",
"branch_smallest": "转动量最小",
"branch_crown": "已朝上,只平移",
"press_unset": "未标定零位:本动作保持压轴不动(在 设备设置 → 压轴零位 填入实测零位)",
"press_target": "{target} mm(几何接触高度 {height} mm)",
"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<br/>灰:无已确认拟合",
"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": {
"checking": "正在后台读取并校验记录,请稍候…",
"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": "有效样本不足",
"no_frame_source": "本次循环没有录像帧来源:参考窗口已记录,但没有可用于计算的原始法向信号",
"time_basis_not_comparable": "时间基准与保持窗口不可比(录像不是本机实时采集),未参与计算",
"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)"
}
}