fix print filament color matcher

This commit is contained in:
Rad
2026-04-18 19:50:24 +02:00
parent 6ddce3cfd8
commit 046692dc21
17 changed files with 102171 additions and 107542 deletions

View File

@@ -1 +1 @@
91913591af04f0ed7f34aa96e9fd2426
3bf924fcd55c18a0a3670b1d4d819c93

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"HarmonyOS_Sans_SC","fonts":[{"weight":700,"asset":"assets/fonts/HarmonyOS_Sans_SC_Regular.ttf"}]},{"family":"NanumGothic","fonts":[{"weight":700,"asset":"assets/fonts/NanumGothic-Regular.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"HarmonyOS_Sans_SC","fonts":[{"weight":700,"asset":"assets/fonts/HarmonyOS_Sans_SC_Regular.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]

View File

@@ -139,7 +139,14 @@
"34181": "Red",
"34182": "Dark Gray",
"34183": "Yellow",
"34184": "Green"
"34184": "Green",
"34202": "Sunset Ember",
"34203": "Aurora Gold",
"34204": "Solar Alloy",
"34205": "Mint Lemonade",
"34206": "Sea Glass",
"34207": "Ice Lake",
"34208": "City Billboard"
},
"filament_color": {
"#FFFFFFFF": "White",
@@ -189,7 +196,6 @@
"Snapmaker Account": "Snapmaker Account",
"Upload Image": "Upload Image",
"Upload File": "Upload File",
"Device Control": "Control",
"Create New Project": "NewProject",
"Waiting for device authorization": "Waiting for device authorization...",
@@ -199,7 +205,6 @@
"System": "System",
"Simplified Chinese": "Simplified Chinese",
"English": "English",
"Other login methods": "Other Login Methods",
"Email Password": "Email Password",
"Email Code": "Email Code",
@@ -264,7 +269,6 @@
"Vibration Compensation Calibrating": "Vibration Compensation Calibrating",
"Updating": "Updating",
"Manual Adjusting Spring Screw": "Manual Adjusting Spring Screw",
"Homing": "Homing",
"PEI sheet placement detection in progress...": "PEI sheet placement detection in progress...",
"Resuming printing...": "Resuming printing...",
@@ -304,12 +308,9 @@
"Extruder Docking Calibrating...": "Extruder Docking Calibrating...",
"Checking Extruder Park...": "Checking Extruder Park...",
"Checking Extruder Pick...": "Checking Extruder Pick...",
"Heated Bed Temp.": "Heated Bed Temp.",
"Print Speed": "Print Speed",
"Fan": "Fan",
"On": "On",
"Off": "Off",
"No extruder": "No extruder",
@@ -348,7 +349,6 @@
"Time-Lapse Photography": "Time-Lapse Photography",
"Start Print": "Start Print",
"layer": "layer",
"dialog_device_control_modify_heated_bed_temperature_tips": "Heated bed temperature must be set between 0°C and 100°C",
"dialog_device_control_modify_print_speed_tips": "Print speed must be set between 50% and 150%",
"dialog_delete_device_desc_format": "Do you want to delete device {}?",
@@ -356,16 +356,12 @@
"Do you want to disconnect with current device?": "Are you sure you want to disconnect and delete the device?",
"Are you sure you want to delete the lan device?": "Are you sure you want to delete the lan device?",
"Are you sure you want to delete the cloud device?": "Are you sure you want to delete the cloud device?",
"bind_device_tip_format": "Confirm to bind the printer {} with the current account?",
"Filament auto feed": "Filament auto feed",
"Filament auto feed description": "Automatic Feeding\n· Insert the 3D printer filaments into the corresponding feeding port until the indicator light of the corresponding feeding port lights up. The device will pre-load the materials, and the feeding will be automatic when the printing starts.\nFilaments Information\n· Official 3D printer filaments information will be recognized by the device. For non-official filaments, the material information needs to be manually edited.\nAutomatic Resume Printing\n· When a filament break occurs during printing, if the device is equipped with the same brand, type, and color of filaments, the device will automatically resume printing.",
"cancel_print_confirm_message": "Cancel printing Do you want to cancel the printing task ? ",
"Tips": "Tips",
"close_led_confirm_message": "AI monitoring is enabled. Turning off the LED may reduce detection accuracy. Turn it off anyway?",
"Refresh More": "Refresh More",
"downloading_desc_format": "{}downloading...({}%)",
"downloaded_desc_format": "{}downloaded",
@@ -375,7 +371,6 @@
"dont_remind_again_desc": "Don't remind again",
"Remind later": "Remind later",
"Could not get device version": "Could not get device version",
"dialog_file_download_success_tips": "File {} has been downloaded successfully, initiating upload...",
"dialog_file_download_failed_tips": "File {} download failed, please try again...",
"dialog_file_upload_failed_tips": "File {} upload failed, please try again...",
@@ -416,13 +411,11 @@
"clear_all_files_confirm_title": "Confirm Clear All Files",
"clear_all_files_confirm_message": "Are you sure you want to clear all recent files? This action cannot be undone.",
"Confirm Delete": "Confirm Delete",
"connect_devcice_fail_tip_format": "Connect {} failed, please reselect your device and connect.",
"time_lapse_video_loaded_failed": "Time Lapse Video loaded failed.",
"time_lapse video_export_format": "Time Lapse Video {} exported.",
"time_lapse_video_export_button_text_format": "Export ({})",
"time_lapse_video_delete_button_text_format": "Delete ({})",
"delete_time_lapse_title": "Delete Time-lapse Video",
"delete_time_lapse_desc": "Do you want to delete this video?",
"delete_time_lapse_success": "Delete video success",
@@ -431,7 +424,6 @@
"time_lapse_video_downloaded_success_2_format": "Video {} downloadedbut export video failed",
"time_lapse_video_start_downloading": "Start downloading...",
"time_lapse_video_export_video_failed": "Export video failed",
"Network may be unstable, device connection may be unreliable.": "Network may be unstable, device connection may be unreliable",
"network_unstable_partial_operation_failed": "Network unstable, partial operation may failed",
"camera_turn_off_countdown": "Camera turn-off countdown",
@@ -443,8 +435,28 @@
"Print Plates": "Print Plates",
"Plate": "Plate",
"Check": "Check",
"default_exception_title": "Exception",
"Load More": "Load More",
"No More Data": "No More Data",
"Error Occurred": "Error Occurred",
"No Models Found": "No Models Found",
"Not Implemented Yet": "Not implemented yet, please try again later",
"Nozzle": "Nozzle",
"Model Library": "Model Library",
"Recommended for You": "Recommended for You",
"units": "units",
"Total": "Total",
"Filament List": "Filament List",
"Collapse": "Collapse",
"Expand": "Expand",
"Untitled Config": "Untitled Config",
"Display Area": "Display Area",
"Print Now is only available in Cloud Mode": "Print Now is only available in Cloud Mode",
"nozzle_mismatch_tip": "The nozzle diameter does not match the preset. Please confirm the match before starting the print.",
"Next": "Next",
"Error Code": "Error Code",
"default_exception_title": "Exception",
"error_0002052300000000_title": "Filament Anomaly",
"error_0002052300000000_desc": "Filament runout detected in Toolhead 1. Try reloading filament, then tap the play button to resume the print job.",
"error_0002052300010000_title": "Filament Anomaly",
@@ -1257,21 +1269,46 @@
"error_0002053200000001_desc": "Please check and remove any foreign objects. If none are found, click Continue to resume printing.",
"error_0002053200000002_title": "Possible Spaghetti Defect Detected",
"error_0002053200000002_desc": "Please inspect the model. If any defects are acceptable—or none are found—click Continue to resume printing.",
"Load More": "Load More",
"No More Data": "No More Data",
"Error Occurred": "Error Occurred",
"No Models Found": "No Models Found",
"Not Implemented Yet": "Not implemented yet, please try again later",
"Nozzle": "Nozzle",
"Model Library": "Model Library",
"Recommended for You": "Recommended for You",
"units": "units",
"Total": "Total",
"Filament List": "Filament List",
"Collapse": "Collapse",
"Expand": "Expand",
"Untitled Config": "Untitled Config",
"Display Area": "Display Area",
"Print Now is only available in Cloud Mode": "Print Now is only available in Cloud Mode",
"Next": "Next"
"error_0003052201000006_title": "System Failed to Start",
"error_0003052201000006_desc": "No toolhead detected. Please contact Technical Support.",
"error_0003053000000017_title": "Heated Bed Detection Anomaly",
"error_0003053000000017_desc": "The PEI sheet is not properly positioned. Correctly place the PEI sheet and retry.",
"error_0002053100000009_title": "Storage Space Low",
"error_0002053100000009_desc": "Low device storage may affect printing functionality. Delete some G-code or timelapse files to free up space.",
"error_0003053100000010_title": "Unrecognized G-code Commands",
"error_0003053100000010_desc": "The print file contains G-code commands that are not supported by this device. Printing has been terminated.",
"error_0003053000000018_title": "Calibration Anomaly",
"error_0003053000000018_desc": "Toolhead XYZ offset calibration value exceeds the maximum allowed range.",
"error_0003053000000019_title": "Calibration Failed",
"error_0003053000000019_desc": "Toolhead Attach/Detach Coordinate Adjustment is not supported by the current printer profile.",
"error_0003053000000020_title": "Calibration Failed",
"error_0003053000000020_desc": "One or more toolheads are not securely seated on the dock. Ensure all toolheads are properly installed and try again.",
"error_0003053000000021_title": "Toolhead Attach Verification Failed",
"error_0003053000010021_title": "Toolhead Attach Verification Failed",
"error_0003053000020021_title": "Toolhead Attach Verification Failed",
"error_0003053000030021_title": "Toolhead Attach Verification Failed",
"error_0003053000000022_title": "Toolhead Detach Verification Failed",
"error_0003053000010022_title": "Toolhead Detach Verification Failed",
"error_0003053000020022_title": "Toolhead Detach Verification Failed",
"error_0003053000030022_title": "Toolhead Detach Verification Failed",
"error_0001053100000011_title": "Cloud Print File Verification Failed",
"error_0001053100000011_desc": "Resend the print file.",
"error_0001053100000012_title": "Cloud Print File Extraction Failed",
"error_0001053100000012_desc": "Resend the print file.",
"error_0003053000000024_title": "Homing Calibration Failed",
"error_0003053000000024_desc": "Diagonal probing error.",
"error_0003053000000025_title": "Homing Calibration Failed",
"error_0003053000000025_desc": "Failed to verify the probe point.",
"error_0003053000000026_title": "Homing Calibration Failed",
"error_0003053000000026_desc": "Reached max retries.",
"error_0003053000000027_title": "Homing Calibration Failed",
"error_0003053000000027_desc": "Please retension the timing belt and try again. If the issue persists, perform a homing calibration.",
"error_0003053000000028_title": "Homing Calibration Failed",
"error_0003053000000028_desc": "Please retension the timing belt and try again. If the issue persists, perform a homing calibration.",
"error_0002053200000000_title": "System Anomaly",
"error_0002053200000000_desc": "See anomaly details. Contact technical support.",
"error_0002053200000003_title": "Possible Residue Detected on Print Bed",
"error_0002053200000003_desc": "Please check and remove any residue. If none are found, click Continue to resume printing.",
"error_0001053000000029_title": "Uneven Heated Bed Detected",
"error_0001053000000029_desc": "The heated bed flatness deviation is too large. Please perform manual bed leveling."
}

View File

@@ -139,7 +139,14 @@
"34181": "红色",
"34182": "深灰色",
"34183": "黄色",
"34184": "绿色"
"34184": "绿色",
"34202": "金红渐变",
"34203": "金紫渐变",
"34204": "金银渐变",
"34205": "黄蓝渐变",
"34206": "蓝绿渐变",
"34207": "银蓝渐变",
"34208": "黄红渐变"
},
"filament_color": {
"#FFFFFFFF": "白色",
@@ -190,64 +197,44 @@
"Disconnecting": "断开连接中...",
"Uploading...": "上传中...",
"Uploading": "上传中...",
"Device download file success": "设备下载文件成功",
"Device download file failed": "设备下载文件失败",
"Upload file success": "上传文件成功",
"Upload file failed": "上传文件失败",
"Delete file success": "删除文件成功",
"Delete file failed": "删除文件失败",
"Sending print job...": "正在发送打印任务...",
"Saving image...": "正在保存图片...",
"Save image failed.": "保存图片失败",
"Save image successfully": "保存图片成功",
"Authorizing timeout!": "授权超时!",
"Server internal error, please try again later.": "服务器内部错误,请稍后重试",
"Start monitoring timeout, please try again later.": "启动监控超时,请稍后重试",
"Other error, please try again later.": "其他错误,请稍后重试",
"Camera start failed": "摄像头开启失败",
"Camera started successfully": "摄像头开启成功",
"Camera stop failed": "摄像头关闭失败",
"Method not found": "设备未实现此功能",
"Camera loading failed. Please try again.": "摄像头加载失败,请重试",
"Camera request has been rejected. Please try again.": "摄像头请求被拒绝,请重试",
"The image upload failed. Please try again.": "画面上传失败,请重试",
"Unable to obtain device resources, please try again later.": "无法获取设备资源,请稍后再试",
"Request timeout, please try again later.": "请求超时,请稍后重试",
"Set led failed": "设置LED失败",
"Set led success": "设置LED成功",
"Set print speed failed": "设置打印速度失败",
"Set print speed success": "设置打印速度成功",
"Could not get version from device": "无法获取设备版本",
"Device is offline": "设备已离线",
"Device is online": "设备已在线",
"Setting extruder mapping": "设置挤出头映射",
"Download failed": "下载失败",
"Cannot get machine filament mapping": "无法获取机器耗材映射信息",
"please input number": "请输入数字",
"device is offline, please retry refresh": "设备已离线,请刷新重试",
"device is busy, please waiting ...": "设备繁忙,请等待...",
"device is default, please set to go Home": "设备默认,请设置归位",
"this operation requires the printer to be online, currently the printer is not online": "此操作需要设备在线,当前设备不在线",
"No network connection, please check whether the network environment of the software is normal.": "没有网络连接,请检查软件的网络环境是否正常",
"LAN connection is not supported, please connect to Wi-Fi network.": "局域网连接不支持请连接Wi-Fi网络",
"Connected": "已连接",
@@ -279,60 +266,44 @@
"Register": "注册",
"Open Project": "打开项目",
"Create New Project": "创建项目",
"Recent Open Files": "近期打开文件",
"No open files": "暂无打开的文件",
"Delete selected": "删除选中",
"Batch processing": "批量处理",
"Clear files": "清空文件",
"Connect via device screen": "通过设备屏幕局域网网页页面的PIN进行连接",
"Bind Via PIN": "PIN码绑定",
"Bind Via IP": "IP码搜索绑定",
"Searching for devices": "正在搜索设备",
"Please authorize on the device screen to continue binding": "请在设备屏幕授权以继续绑定",
"Waiting for device authorization": "等待设备授权中...",
"Binding rejected": "绑定被拒绝",
"Binding successful": "绑定成功",
"I know": "我知道了",
"Device Control": "设备控制",
"Delete lan device": "删除本地设备",
"Delete cloud device": "删除云端设备",
"Are you sure you want to delete the lan device?": "您确定是否删除本地设备?",
"Are you sure you want to delete the cloud device?": "您确定是否删除云端设备?",
"Disconnect": "断开连接",
"Do you want to disconnect with current device?": "是否与当前设备断开连接?",
"Disconnect success": "断开连接成功",
"Disconnect failed": "断开连接失败",
"Please login first": "请先登录",
"Connect success": "连接成功",
"Connect failed": "连接失败",
"Binding...": "绑定中...",
"Binding failed": "绑定失败",
"Refresh completed": "刷新完成",
"Refresh failed": "刷新失败",
"No more data": "没有更多数据",
"Pull up Load more": "上拉加载更多",
"Pull down refresh": "下拉刷新",
"Click to load more": "点击加载更多",
"User not logged in": "用户未登录",
"Not logged in account": "未登录账户",
"• LAVA - Only devices that have enabled LAN debugging can be bound": "• LAVA - 只能绑定开启了局域网调试的设备",
"• J1、Artisan - Devices without account functions are default to LAN debugging mode": "• J1、Artisan 无账户功能的设备则默认是局域网调试模式",
"Please locate the PIN code on the account page of the device screen and enter it in the box below.": "请在设备界面的账户页面找到PIN码并在下方框中输入。",
"Machine IP acquisition method": "机器IP获取方法",
"Settings -> LAN Mode -> IP": "设置 -> LAN模式 -> IP",
@@ -344,19 +315,15 @@
"Please enter IP address": "请输入IP地址",
"Invalid IP address format": "无效的IP地址格式",
"Print history": "打印历史",
"Loading data...": "正在加载数据...",
"No connectable device": "没有可以连接的设备",
"Please check the network or device status": "请检查网络或设备状态",
"Retry": "重试",
"Device control-new": "设备控制-new",
"Device control-old": "设备控制-old",
"Device current mode is not available/not online": "设备当前模式不可用/不在线",
"Device control": "设备控制",
"Firmware update": "固件更新",
"Scan QR Code": "扫描二维码",
"Bind the device by scanning the QR code on the device screen": "通过扫描设备屏幕二维码绑定设备",
"Please scan the QR code on the printer screen": "扫描设备屏幕二维码绑定设备",
@@ -387,15 +354,12 @@
"Move": "移动",
"Filament": "耗材",
"Camera": "摄像机",
"File information": "文件信息",
"Model Information": "模型信息",
"Select Printer": "选择打印机",
"Edit Filament": "编辑耗材",
"Select Tool Head": "选择打印头",
"Please enter the correct number": "请输入正确的数字",
"Print Preferences": "偏好设置",
"Auto Leveling": "自动调平",
"Time-lapse Camera": "延时摄影",
@@ -403,7 +367,6 @@
"Flow calibrate": "流量校准",
"Extrusion Flow Calibration": "挤出流量校准",
"When enabled, the printer will automatically calibrate flow compensation before printing. Recommended after each filament change.": "启用后,打印机将在打印前自动校准流量补偿。每次更换丝材后建议执行。",
"Please select filament type": "请选择耗材类型",
"Cannot get the current slice file information, or the file does not exist, please re-operate the slice": "无法获取当前切片文件信息,或文件不存在,请重新操作切片",
"Cannot get connected machine": "无法获取到当前已连接的设备信息",
@@ -411,7 +374,6 @@
"Timeout: Cannot get file filament mapping": "无法获取文件耗材映射信息",
"Cannot load file content": "无法加载文件内容",
"uploadFile requires the printer to be online, currently the printer is not online": "上传文件需要设备在线,当前设备不在线",
"Confirm": "确认",
"device_input_pin_code_desc": "请输入PIN码.",
"device_input_pin_code_tips_desc": "请输入8位PIN码",
@@ -440,7 +402,6 @@
"Vibration Compensation Calibrating": "震动抑制校准中",
"Updating": "升级中",
"Manual Adjusting Spring Screw": "调整弹簧螺丝",
"Homing": "正在归位",
"PEI sheet placement detection in progress...": "PEI 钢板放置状态检测中...",
"Resuming printing...": "断电续打恢复中...",
@@ -480,24 +441,20 @@
"Extruder Docking Calibrating...": "挤出机停靠校准中...",
"Checking Extruder Park...": "取头校验中...",
"Checking Extruder Pick...": "放头校验中...",
"Wait for device response...": "等待设备响应...",
"loading...": "加载中...",
"Loading...": "加载中...",
"Login...": "登录中...",
"Network may be unstable, device connection may be unreliable": "网络不稳定,设备连接可能不可靠",
"network_unstable_partial_operation_failed": "网络不稳定,部分操作可能失败",
"resume success": "恢复打印成功",
"pause success": "暂停打印成功",
"cancel success": "取消打印成功",
"stop success": "停止打印成功",
"finished":"完成",
"finished": "完成",
"Heated Bed Temp.": "热床温度",
"Print Speed": "打印速度",
"Fan": "风扇",
"On": "开",
"Off": "关",
"No extruder": "无挤出头",
@@ -536,14 +493,11 @@
"layer": "层",
"Preferences": "偏好设置",
"Send gcode failed, please try again later.": "发送指令失败,请稍后重试",
"dialog_device_control_modify_heated_bed_temperature_tips": "温度必须在0°C到100°C之间",
"dialog_device_control_modify_print_speed_tips": "打印速度必须在50%到150%之间",
"dialog_delete_device_desc_format": "你想要删除设备{}吗?",
"dialog_unbind_device_desc_format": "你想要解绑设备{}吗?",
"Camera not on": "摄像头未开启",
"Are you sure you want to log in?": "确定要登录吗?",
"Login credentials have expired, please login again": "登录凭证已过期,请重新登录",
"Set Extruder Temperature": "设置挤出头温度",
@@ -562,34 +516,27 @@
"Unconnected device": "未连接设备",
"Current filament not loaded, please load filament first": "当前未装载耗材,请先装料",
"Loading filament config...": "加载耗材配置中...",
"Time remaining": "剩余时间",
"N/A": "N/A",
"Are you sure you want to disconnect this device?": "确定要断开此设备吗?",
"After unbinding the device, the device will be unable to function.": "解绑后,设备将无法正常使用。",
"Not Found Page": "找不到页面",
"Go Back": "返回",
"Click to select printer": "点击选择打印机",
"No available printer": "暂无可用打印机",
"Unable to obtain the current slice file information, please re-operate the slice": "无法获取当前切片文件信息,请重新操作切片",
"dialog_filament_type_not_match_tips": "此喷嘴耗材类型与模型预设耗材类型不匹配,请更换该喷嘴耗材类型或更改预设耗材类型",
"dialog_filament_type_none_tips": "未识别到耗材,请在设备上挂载耗材或编辑耗材信息",
"dialog_file_download_success_tips": "文件{}已下载成功,发起上传...",
"dialog_file_download_failed_tips": "文件{}下载失败,请重试...",
"dialog_file_upload_failed_tips": "文件{}上传失败,请重试...",
"dialog_file_upload_success_to_device_tips": "文件{}已上传到设备,发起打印...",
"dialog_file_upload_success_to_cloud_tips": "文件{}已上传到云服务,发起打印...",
"dialog_file_send_success_to_device_tips": "文件{}已发送成功到设备",
"cancel_print_confirm_message": "您确认要终止本次打印任务么?",
"Tips": "提示",
"close_led_confirm_message": "设备已开启 AI 监控 ,关闭 LED 会影响检测效果。确定关闭吗?",
"No printing information": "暂无打印信息",
"Refresh More": "刷新更多",
"downloading_desc_format": "{},下载中...({}%)",
"downloaded_desc_format": "{},下载完成",
@@ -599,7 +546,6 @@
"dont_remind_again_desc": "不再提示",
"Remind later": "稍后提示",
"Could not get device version": "无法获取设备固件版本信息",
"The current device is currently processing the offline state, please check the device and try again.": "当前设备处于离线状态,请检查设备并重试",
"Your account has been unbound from the device. Please reselect the device to initiate the connection.": "您的账户已被设备解绑,请重新选择设备发起连接",
"The device failed to download the model file. Please check the device network and upload it again.": "设备下载模型文件失败,请检查设备网络并重新上传",
@@ -609,8 +555,6 @@
"File upload failed, please check network connection and try again.": "文件上传失败,请检查网络连接后重试",
"Unable to get current slicing details, go to the Prepare page to initiate slicing": "无法获取当前切片详情,请前往准备页面发起切片",
"The device is not connected, please click the printer to initiate device connection.": "设备未连接,请点击选择打印机发起设备连接",
"dialog_filament_type_not_match_tips": "此喷嘴耗材类型与模型预设耗材类型不匹配,请更换该喷嘴耗材类型或更改预设耗材类型",
"dialog_filament_type_none_tips": "未识别到耗材,请在设备上挂载耗材或编辑耗材信息",
"Features are under development, please stay tuned": "功能开发中, 敬请期待",
"File bytes is empty": "获取文件内容为空,请重新发起切片操作",
"Model": "模型",
@@ -646,7 +590,6 @@
"Firmware restart command failed to send": "固件重启命令发送失败",
"Firmware Restart": "固件重启",
"Time lapse camera is not supported, please stay tuned": "当前版本暂不支持延时摄影,敬请期待",
"Bind success": "绑定成功",
"Device connect error, please return to device page and connect again.": "设备连接异常,请返回“我的设备”页,重新发起连接",
"The device authorization has expired to reinitiate the connection.": "设备授权超时,重新发起连接",
@@ -670,7 +613,6 @@
"time_lapse video_export_format": "延时摄影视频已导出 {} ",
"time_lapse_video_export_button_text_format": "导出 ({})",
"time_lapse_video_delete_button_text_format": "删除 ({})",
"delete_time_lapse_title": "删除延时摄影视频",
"delete_time_lapse_desc": "确定要删除这个视频吗?",
"delete_time_lapse_success": "删除视频成功",
@@ -689,8 +631,28 @@
"Print Plates": "打印盘",
"Plate": "盘",
"Check": "查看",
"default_exception_title": "异常",
"Load More": "加载更多",
"No More Data": "没有更多数据",
"Error Occurred": "发现未知错误",
"No Models Found": "未找到模型",
"Not Implemented Yet": "还未实现,请稍后再试",
"Nozzle": "喷嘴",
"Model Library": "模型库",
"Recommended for You": "官方推荐",
"units": "个",
"Total": "总量",
"Filament List": "多色耗材清单",
"Collapse": "收起",
"Expand": "展开",
"There are no available process profiles": "没有可用的打印配置",
"No split data available": "没有可用的分盘数据",
"Untitled Config": "未命名配置",
"Display Area": "展示区域",
"nozzle_mismatch_tip": "喷嘴直径与预设均不一致,请确认匹配后再发起打印。",
"Next": "下一步",
"Error Code": "错误码",
"default_exception_title": "异常",
"error_0002052300000000_title": "耗材异常",
"error_0002052300000000_desc": "检测到 1 号执行头断料,可尝试重新装载耗材,然后点击继续打印恢复作业。",
"error_0002052300010000_title": "耗材异常",
@@ -1503,22 +1465,46 @@
"error_0002053200000001_desc": "请检查并清理异物后,点击继续以恢复打印;若检查无误,也可直接点击继续。",
"error_0002053200000002_title": "检测到可能存在炒面缺陷",
"error_0002053200000002_desc": "请检查模型,若缺陷可接受,点击继续以恢复打印;若检查无误,也可直接点击继续。",
"Load More": "加载更多",
"No More Data": "没有更多数据",
"Error Occurred": "发现未知错误",
"No Models Found": "未找到模型",
"Not Implemented Yet": "还未实现,请稍后再试",
"Nozzle": "喷嘴",
"Model Library":"模型库",
"Recommended for You": "官方推荐",
"units": "",
"Total": "总量",
"Filament List": "多色耗材清单",
"Collapse": "收起",
"Expand": "展开",
"There are no available process profiles": "没有可用的打印配置",
"No split data available": "没有可用的分盘数据",
"Untitled Config": "未命名配置",
"Display Area": "展示区域",
"Next": "下一步"
"error_0003052201000006_title": "系统无法启动",
"error_0003052201000006_desc": "未识别到任何打印头,请联系技术支持。",
"error_0003053000000017_title": "热床检测异常",
"error_0003053000000017_desc": "PEI 钢板放置状态不正确。请将 PEI 钢板放置好,然后重试。",
"error_0002053100000009_title": "存储容量不足",
"error_0002053100000009_desc": "设备存储容量不足,将影响打印功能正常使用,请删除部分 G-code 文件或延时摄影文件以释放空间。",
"error_0003053100000010_title": "无法识别 G-code 指令",
"error_0003053100000010_desc": "打印文件中包含设备暂不支持的 G-code 指令,打印已终止。",
"error_0003053000000018_title": "校准异常",
"error_0003053000000018_desc": "打印头 XYZ 偏移校准值超出最大允许范围。",
"error_0003053000000019_title": "校准失败",
"error_0003053000000019_desc": "打印机当前配置文件不支持取/放头坐标调整。",
"error_0003053000000020_title": "校准失败",
"error_0003053000000020_desc": "检测到有打印头未稳固安装在停靠位上,请确保所有打印头稳固安装,然后重试。",
"error_0003053000000021_title": "取头验证失败",
"error_0003053000010021_title": "取头验证失败",
"error_0003053000020021_title": "取头验证失败",
"error_0003053000030021_title": "取头验证失败",
"error_0003053000000022_title": "放头验证失败",
"error_0003053000010022_title": "放头验证失败",
"error_0003053000020022_title": "放头验证失败",
"error_0003053000030022_title": "放头验证失败",
"error_0001053100000011_title": "云打印文件校验失败",
"error_0001053100000011_desc": "请重新发送打印文件。",
"error_0001053100000012_title": "云打印文件解压失败",
"error_0001053100000012_desc": "请重新发送打印文件。",
"error_0003053000000024_title": "回零校准失败",
"error_0003053000000024_desc": "对角线探测异常。",
"error_0003053000000025_title": "回零校准失败",
"error_0003053000000025_desc": "探测点校验失败。",
"error_0003053000000026_title": "回零校准失败",
"error_0003053000000026_desc": "重试次数已达上限。",
"error_0003053000000027_title": "回零校准失败",
"error_0003053000000027_desc": "请张紧同步带后重试;若仍未解决,建议进行回零校准。",
"error_0003053000000028_title": "回零校准失败",
"error_0003053000000028_desc": "请张紧同步带后重试;若仍未解决,建议进行回零校准。",
"error_0002053200000000_title": "系统异常",
"error_0002053200000000_desc": "详见异常报错信息,请联系技术支持。",
"error_0002053200000003_title": "检测到床面可能有残留物",
"error_0002053200000003_desc": "请检查并清理残留物后,点击继续以恢复打印;若检查无误,也可直接点击继续。",
"error_0001053000000029_title": "热床平整度异常",
"error_0001053000000029_desc": "检测到热床平整度偏差过大,请进行手动调平。"
}

View File

@@ -9,8 +9,4 @@ if (!window._flutter) {
_flutter.buildConfig = {"engineRevision":"b8800d88be4866db1b15f8b954ab2573bba9960f","builds":[{"compileTarget":"dart2js","renderer":"html","mainJsPath":"main.dart.js"}]};
_flutter.loader.load({
serviceWorkerSettings: {
serviceWorkerVersion: "2549727985"
}
});
_flutter.loader.load({});

View File

@@ -3,23 +3,23 @@ const MANIFEST = 'flutter-app-manifest';
const TEMP = 'flutter-temp-cache';
const CACHE_NAME = 'flutter-app-cache';
const RESOURCES = {"flutter_bootstrap.js": "5a0e89be5500761ba94ced6acbec72ce",
"version.json": "00327fe07cd4f3658188e2221ee7e70e",
"index.html": "2753effad264bd7ecad1460aa8a6e57f",
"/": "2753effad264bd7ecad1460aa8a6e57f",
"main.dart.js": "f5fac859d7d5c10ac10ea83ef779a735",
const RESOURCES = {"flutter_bootstrap.js": "5df5bdc8a7dd84ee723ec1716f9f71ab",
"version.json": "468218e8d028028f374e92a907abe387",
"index.html": "492e49098166ce190dc6e74e1dfd3d00",
"/": "492e49098166ce190dc6e74e1dfd3d00",
"main.dart.js": "f0b4c800d6c4a52ef0a36670519ce17b",
"flutter.js": "f31737fb005cd3a3c6bd9355efd33061",
"version.changelog": "342987a68a2c2325abdbf8c777f5f1f9",
"version.changelog": "a022d4d7e7ebd2f9d5be9808f26b602f",
"favicon.png": "be8d1ab28c20907c9869c345d0482962",
"icons/Icon-192.png": "ab1f25ced1559729e334de938eae91a5",
"icons/Icon-maskable-192.png": "e41e8489c0f6a822acf8dab362e112b7",
"icons/Icon-maskable-512.png": "4870fb6720f4fcad016cb582589d136d",
"icons/Icon-512.png": "343022ac1c56796cb7ff635faf0646ef",
"manifest.json": "901d86fb8842ec0d66225a542131d689",
"assets/AssetManifest.json": "660c5d4f2ebdd5bdd856a3847ae08827",
"assets/AssetManifest.json": "6956da02995a8543e1c97e04a54eaaf7",
"assets/NOTICES": "d069331fe8f2999724abec0a42604cc7",
"assets/FontManifest.json": "0dc3d44d47c5e2636cdca4babafb2396",
"assets/AssetManifest.bin.json": "fc74193f1dcf1df8092bf993cb281f41",
"assets/FontManifest.json": "d6c913712461f76442432ad110cd3e81",
"assets/AssetManifest.bin.json": "e792c2ebb025ddc9efc572eb5bbb45d5",
"assets/packages/lava_model_station/assets/404.png": "e8a45c994c2f6f551cf1e052f64dba1c",
"assets/packages/lava_model_station/assets/placehoder-image.png": "fd0b3547e2b90c124112401d7a8f6a02",
"assets/packages/lava_model_station/assets/svgs/iconPlate.svg": "05acab23d908534f0660b4f06cc36e8d",
@@ -34,15 +34,13 @@ const RESOURCES = {"flutter_bootstrap.js": "5a0e89be5500761ba94ced6acbec72ce",
"assets/packages/fluttertoast/assets/toastify.css": "a85675050054f179444bc5ad70ffc635",
"assets/packages/wakelock_plus/assets/no_sleep.js": "7748a45cd593f33280669b29c2c8919a",
"assets/shaders/ink_sparkle.frag": "ecc85a2e95f5e9f53123dcaf8cb9b6ce",
"assets/AssetManifest.bin": "037b9d5cbc8fd045ebdd1277e9b52873",
"assets/fonts/MaterialIcons-Regular.otf": "165e0312a2248a5fe696bc445a5c4e9a",
"assets/assets/mock_data/model_detail.json": "9c3ce3e4bb3dbe78b74fc2d11d152485",
"assets/assets/mock_data/model_station_list.json": "1dcbd846d8b97bae543caba6ce135040",
"assets/assets/i10n/zh-CN.json": "b75b9cdfaa7f0dd8685f451947e720b9",
"assets/assets/i10n/en.json": "49a88f8ed551553ed2720b40174f76a7",
"assets/AssetManifest.bin": "d7dfa2e9fdbde267dda38d0e5c01b231",
"assets/fonts/MaterialIcons-Regular.otf": "dfefab8909c0bf41d9f72b8c35ad57af",
"assets/assets/i10n/zh-CN.json": "de7d422d8b8241e292cedd1ff2f36622",
"assets/assets/i10n/en.json": "10bc21a9de153ef03f4cf724d701c387",
"assets/assets/images/deviceNoResponse.webp": "1ca23a7feedfdc34362ea5789ccf895b",
"assets/assets/images/deviceAuthorized.webp": "8eb814193bed15cec22658018871aba8",
"assets/assets/images/IpInputGuide.webp": "06c11ce1dadc2910676aec6d40a5eea5",
"assets/assets/images/ipInputGuide.webp": "06c11ce1dadc2910676aec6d40a5eea5",
"assets/assets/images/deviceDisplayDefault.webp": "ea13b4cb58c0a38e8cf15f7033a07833",
"assets/assets/images/deviceAuthorizing.webp": "ad1b45a33b70fe2e551a343cab248de3",
"assets/assets/images/expectation.webp": "1fbebbcb5401021d91ae38864ec3a5c1",
@@ -157,7 +155,6 @@ const RESOURCES = {"flutter_bootstrap.js": "5a0e89be5500761ba94ced6acbec72ce",
"assets/assets/files/accountDeletionAgreement.json": "116a21e258107854e3502c8a34cd0f53",
"assets/assets/files/deviceError.json": "526e625b9f76cbd2bcbef6c3f03a5b56",
"assets/assets/fonts/HarmonyOS_Sans_SC_Regular.ttf": "872bdb620876bb570a7d5d9b9504abaf",
"assets/assets/fonts/NanumGothic-Regular.ttf": "3cbe9257e888255cb2dad0d8a80a7759",
"canvaskit/skwasm.js": "9fa2ffe90a40d062dd2343c7b84caf01",
"canvaskit/skwasm.js.symbols": "262f4827a1317abb59d71d6c587a93e2",
"canvaskit/canvaskit.js.symbols": "48c83a2ce573d9692e8d970e288d75f7",

View File

@@ -46,7 +46,33 @@
<link rel="apple-touch-startup-image" href="splash.png">
</head>
<body>
<script src="flutter_bootstrap.js" async></script>
<script>
(async function bootstrapDesktopFlutter() {
if ('serviceWorker' in navigator) {
try {
const registrations = await navigator.serviceWorker.getRegistrations();
await Promise.allSettled(registrations.map((registration) => registration.unregister()));
} catch (error) {
console.warn('Failed to unregister service workers:', error);
}
}
if ('caches' in window) {
try {
const cacheNames = await caches.keys();
const flutterCaches = cacheNames.filter((name) => name.startsWith('flutter-'));
await Promise.allSettled(flutterCaches.map((name) => caches.delete(name)));
} catch (error) {
console.warn('Failed to clear Flutter caches:', error);
}
}
const bootstrapScript = document.createElement('script');
bootstrapScript.src = 'flutter_bootstrap.js';
bootstrapScript.async = true;
document.body.appendChild(bootstrapScript);
})();
</script>
<script>
if ('application/octet-stream' in MimeType) {
@@ -60,7 +86,7 @@
seqid: 1222222,
cmd: "sw_OpenOrcaWebview",
params: {
url: "http://localhost:7357/?locale=zh-cn-CN&dark_model=1&path=/",
url: "http://127.0.0.1:7357/?locale=zh-cn-CN&dark_model=1&path=/",
},
});
// 调用 window.postMessage 传递消息给 flutter

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +1,10 @@
# Changelog
## 2026-03-11
## 2026-04-16
### Features
- Feature:
* Added a new model entry
* Support more official consumables
* Add new types of consumables color editing
### Bugfix
* Fixed the issue where devices would automatically disconnect when connected over Lan network
* - Fixed an issue on the "Print Preprocessing" page: when more than 4 preset filaments were available,
users could not select the excess filaments to match with the mounted filaments on the device.
### 问题修复
* - 修复了预设耗材超过 4 个时,超过部分无法在 "打印预处理页" 选择设备挂载耗材的问题

View File

@@ -1 +1 @@
{"app_name":"orca","version":"2.3.2","build_number":"20260324145420","package_name":"orca"}
{"app_name":"orca","version":"2.3.12","build_number":"20260418235900","package_name":"orca"}

View File

@@ -7572,7 +7572,7 @@ std::map<std::string, std::string> DynamicPrintConfig::validate(bool under_cli)
std::string DynamicPrintConfig::get_filament_type(std::string &displayed_filament_type, int id)
{
auto* filament_id = dynamic_cast<const ConfigOptionStrings*>(this->option("filament_id"));
auto* filament_id = dynamic_cast<const ConfigOptionStrings*>(this->option("filament_ids"));
auto* filament_type = dynamic_cast<const ConfigOptionStrings*>(this->option("filament_type"));
auto* filament_is_support = dynamic_cast<const ConfigOptionBools*>(this->option("filament_is_support"));

View File

@@ -3039,7 +3039,9 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping()
return;
}
auto& config = wxGetApp().plater()->get_partplate_list().get_curr_plate()->fff_print()->config();
auto* print = wxGetApp().plater()->get_partplate_list().get_curr_plate()->fff_print();
auto& config = print->config();
auto full_config = print->full_print_config();
auto& result = *(wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_slice_result());
/*GCodeProcessor processor;
processor.process_file(filename.data());
@@ -3091,10 +3093,22 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping()
}
// filament type
if (config.has("filament_type")) {
auto filament_type = config.option<ConfigOptionStrings>("filament_type")->values;
response["filament_type"] = filament_type;
// filament type
if (full_config.has("filament_type")) {
std::vector<std::string> filament_types;
size_t filament_count = full_config.option<ConfigOptionStrings>("filament_type")->values.size();
if (full_config.has("filament_colour")) {
filament_count = std::max(filament_count, full_config.option<ConfigOptionStrings>("filament_colour")->values.size());
}
filament_types.reserve(filament_count);
for (size_t i = 0; i < filament_count; ++i) {
std::string displayed_filament_type;
std::string filament_type = full_config.get_filament_type(displayed_filament_type, int(i));
boost::trim(filament_type);
filament_types.emplace_back(std::move(filament_type));
}
response["filament_type"] = filament_types;
}

View File

@@ -237,3 +237,30 @@ SCENARIO("DynamicPrintConfig serialization", "[Config]") {
}
}
}
TEST_CASE("DynamicPrintConfig normalizes support filament types from filament_ids", "[Config]")
{
DynamicPrintConfig config = DynamicPrintConfig::full_print_config();
config.option<ConfigOptionStrings>("filament_type", true)->values = { "PLA", "PA" };
config.option<ConfigOptionStrings>("filament_ids", true)->values = { "GFS00", "GFS01" };
config.option<ConfigOptionBools>("filament_is_support", true)->values = { true, true };
std::string display_type;
CHECK(config.get_filament_type(display_type, 0) == "PLA-S");
CHECK(display_type == "Sup.PLA");
CHECK(config.get_filament_type(display_type, 1) == "PA-S");
CHECK(display_type == "Sup.PA");
}
TEST_CASE("DynamicPrintConfig keeps ordinary filament types unchanged", "[Config]")
{
DynamicPrintConfig config = DynamicPrintConfig::full_print_config();
config.option<ConfigOptionStrings>("filament_type", true)->values = { "PLA" };
config.option<ConfigOptionStrings>("filament_ids", true)->values = { "GFSL99" };
config.option<ConfigOptionBools>("filament_is_support", true)->values = { false };
std::string display_type;
CHECK(config.get_filament_type(display_type, 0) == "PLA");
CHECK(display_type == "PLA");
}