add function map viewer
Some checks failed
Test / test (push) Has been cancelled

This commit is contained in:
2026-06-20 10:53:49 +07:00
parent a6cf06d7eb
commit 819323f8c8
22 changed files with 3332 additions and 67 deletions

View File

@@ -358,11 +358,25 @@
"maps.settings.originX": "Origin X",
"maps.settings.originY": "Origin Y",
"maps.settings.originYaw": "Origin yaw",
"maps.editor.originLabelShort": "Gốc ({x}, {y})",
"maps.editor.originTooltip": "Origin map: X={x} m, Y={y} m, yaw={yaw}°",
"maps.uploadConfirm.title": "Ghi đè floor plan?",
"maps.uploadConfirm.text": "Ảnh map hiện tại sẽ bị thay thế. Tiếp tục?",
"maps.uploadConfirm.yes": "Ghi đè",
"maps.uploadMeta.title": "Metadata map (ROS)",
"maps.uploadMeta.hint": "Nhập origin, resolution và ngưỡng occupancy — hoặc import file .yaml.",
"maps.uploadMeta.importYaml": "Import file YAML…",
"maps.uploadMeta.negate": "Negate",
"maps.uploadMeta.occupiedThresh": "Occupied thresh",
"maps.uploadMeta.freeThresh": "Free thresh",
"maps.uploadMeta.continue": "Tiếp tục — chọn PNG",
"maps.uploadMeta.invalidResolution": "Resolution phải lớn hơn 0.",
"maps.uploadMeta.invalidYaml": "Không đọc được file YAML.",
"maps.editor.back": "Maps",
"maps.editor.goBack": "Quay lại",
"maps.editor.subtitle": "Chỉnh sửa và vẽ map.",
"maps.editor.helpTitle": "Trợ giúp map editor",
"maps.editor.helpText": "Dùng công cụ Pan để kéo map, zoom bằng nút +/- hoặc con lăn chuột. Menu ⋮ để upload/lưu map.",
"maps.editor.helpText": "Ba lớp: View (pan/zoom màn hình) → Image (pixel floor plan, 20 px/m) → World (X,Y mét). Dùng Pan, zoom, Fit; di chuột để xem tọa độ.",
"maps.editor.toolbarAria": "Mapping tools",
"maps.editor.canvasTip": "Kéo map để di chuyển vùng nhìn hoặc dùng nút zoom in/out để phóng to/thu nhỏ.",
"maps.editor.unsaved": "Chưa lưu",
@@ -381,7 +395,12 @@
"maps.editor.fit": "Vừa khung",
"maps.editor.zoomIn": "Phóng to",
"maps.editor.zoomOut": "Thu nhỏ",
"maps.editor.noData": "Chưa có dữ liệu map — mở menu ⋮ để upload PNG.",
"maps.editor.noData": "Chưa có floor plan — menu ⋮ để upload PNG.",
"maps.editor.statusView": "zoom {zoom}% · pan ({panX}, {panY})",
"maps.editor.statusImageIdle": "— px (di chuột trên map)",
"maps.editor.statusImage": "({px}, {py}) px",
"maps.editor.statusWorldIdle": "— m",
"maps.editor.statusWorld": "X {x}, Y {y} m",
"maps.editor.objectTypesNone": "Chưa chọn object-type",
"maps.menu.save": "Lưu map",
@@ -858,11 +877,25 @@
"maps.settings.originX": "Origin X",
"maps.settings.originY": "Origin Y",
"maps.settings.originYaw": "Origin yaw",
"maps.editor.originLabelShort": "Origin ({x}, {y})",
"maps.editor.originTooltip": "Map origin: X={x} m, Y={y} m, yaw={yaw}°",
"maps.uploadConfirm.title": "Overwrite floor plan?",
"maps.uploadConfirm.text": "The current map image will be replaced. Continue?",
"maps.uploadConfirm.yes": "Overwrite",
"maps.uploadMeta.title": "Map metadata (ROS)",
"maps.uploadMeta.hint": "Enter origin, resolution, and occupancy thresholds — or import a .yaml file.",
"maps.uploadMeta.importYaml": "Import YAML file…",
"maps.uploadMeta.negate": "Negate",
"maps.uploadMeta.occupiedThresh": "Occupied thresh",
"maps.uploadMeta.freeThresh": "Free thresh",
"maps.uploadMeta.continue": "Continue — choose PNG",
"maps.uploadMeta.invalidResolution": "Resolution must be greater than 0.",
"maps.uploadMeta.invalidYaml": "Could not read YAML file.",
"maps.editor.back": "Maps",
"maps.editor.goBack": "Go back",
"maps.editor.subtitle": "Edit and draw the map.",
"maps.editor.helpTitle": "Map editor help",
"maps.editor.helpText": "Use the Pan tool to drag the map, zoom with +/- buttons or the mouse wheel. Open ⋮ menu to upload or save the map.",
"maps.editor.helpText": "Three layers: View (screen pan/zoom) → Image (floor plan pixels, 20 px/m) → World (X,Y in metres). Use Pan, zoom, Fit; hover for coordinates.",
"maps.editor.toolbarAria": "Mapping tools",
"maps.editor.canvasTip": "Drag the map to move your view or use the zoom-in and -out buttons to zoom.",
"maps.editor.unsaved": "Unsaved",
@@ -881,7 +914,12 @@
"maps.editor.fit": "Fit to view",
"maps.editor.zoomIn": "Zoom in",
"maps.editor.zoomOut": "Zoom out",
"maps.editor.noData": "No map data — open ⋮ menu to upload a PNG.",
"maps.editor.noData": "No floor plan — ⋮ menu to upload PNG.",
"maps.editor.statusView": "zoom {zoom}% · pan ({panX}, {panY})",
"maps.editor.statusImageIdle": "— px (hover map)",
"maps.editor.statusImage": "({px}, {py}) px",
"maps.editor.statusWorldIdle": "— m",
"maps.editor.statusWorld": "X {x}, Y {y} m",
"maps.editor.objectTypesNone": "No object-type selected",
"maps.menu.save": "Save map",