This commit is contained in:
174
www/i18n.js
174
www/i18n.js
@@ -72,6 +72,7 @@
|
||||
"nav.dashboardsList": "Dashboards",
|
||||
"nav.missions": "Missions",
|
||||
"nav.maps": "Maps",
|
||||
"nav.sounds": "Sounds",
|
||||
"nav.build-robot": "Build Robot",
|
||||
"nav.monitoring-log": "System log",
|
||||
"nav.integrations": "Tích hợp",
|
||||
@@ -403,8 +404,94 @@
|
||||
"maps.editor.statusWorldIdle": "— m",
|
||||
"maps.editor.statusWorld": "X {x}, Y {y} m",
|
||||
"maps.editor.objectTypesNone": "Chưa chọn object-type",
|
||||
"maps.editor.objectType.wall": "Walls",
|
||||
"maps.editor.objectType.floor": "Floors",
|
||||
"maps.editor.objectType.position": "Positions",
|
||||
"maps.editor.objectType.forbidden": "Forbidden zones",
|
||||
"maps.editor.objectType.preferred": "Preferred zones",
|
||||
"maps.editor.objectType.unpreferred": "Unpreferred zones",
|
||||
"maps.editor.objectType.speed": "Speed zones",
|
||||
"maps.editor.objectType.sound": "Sound zones",
|
||||
"maps.editor.objectType.directional": "Directional zones",
|
||||
"maps.editor.objectType.directionalLine": "Directional lines",
|
||||
"maps.editor.objectType.planner": "Planner zones",
|
||||
"maps.editor.objectType.io": "I/O zones",
|
||||
"maps.editor.filter.walls": "Walls",
|
||||
"maps.editor.filter.floors": "Floors",
|
||||
"maps.editor.filter.positions": "Positions",
|
||||
"maps.editor.filter.forbidden": "Forbidden",
|
||||
"maps.editor.filter.preferred": "Preferred",
|
||||
"maps.editor.filter.unpreferred": "Unpreferred",
|
||||
"maps.editor.filter.speed": "Speed",
|
||||
"maps.editor.filter.sound": "Sound",
|
||||
"maps.editor.tool.draw": "Vẽ — line hoặc polygon (walls, zones…)",
|
||||
"maps.editor.tool.select": "Chọn object",
|
||||
"maps.editor.tool.erase": "Tẩy object",
|
||||
"maps.editor.tool.eraser": "Tẩy pixel — xóa noise trên floor plan (Walls/Floors layer)",
|
||||
"maps.editor.tool.eraseShape": "Xóa line/shape đã vẽ",
|
||||
"maps.editor.tool.eraseSelection": "Xóa vùng chọn — tẩy pixel trong khung",
|
||||
"maps.editor.tool.confirmDraw": "Xác nhận hình vẽ",
|
||||
"maps.editor.drawNeedMorePoints": "Cần thêm điểm trước khi xác nhận (wall ≥ 2, polygon ≥ 3).",
|
||||
"maps.editor.position.title": "Position",
|
||||
"maps.editor.position.name": "Tên",
|
||||
"maps.editor.position.x": "X (m)",
|
||||
"maps.editor.position.y": "Y (m)",
|
||||
"maps.editor.position.yaw": "Hướng (°)",
|
||||
"maps.editor.position.hint": "Click map và kéo để đặt hướng, rồi xác nhận.",
|
||||
"maps.editor.position.invalid": "Nhập X, Y và hướng hợp lệ.",
|
||||
"maps.editor.speed.title": "Speed zone",
|
||||
"maps.editor.speed.limit": "Giới hạn tốc độ (m/s)",
|
||||
"maps.editor.speed.hint": "Robot giảm tốc trong vùng này (0.1–1.5 m/s).",
|
||||
"maps.editor.speed.invalid": "Nhập tốc độ hợp lệ (0.1–1.5 m/s).",
|
||||
"maps.editor.sound.title": "Sound zone",
|
||||
"maps.editor.sound.select": "Sound",
|
||||
"maps.editor.sound.noSound": "— Chọn sound —",
|
||||
"maps.editor.sound.manage": "Quản lý sounds tại Setup → Sounds",
|
||||
"maps.editor.sound.invalid": "Chọn một sound.",
|
||||
"maps.editor.directional.title": "Directional zone",
|
||||
"maps.editor.directional.direction": "Hướng",
|
||||
"maps.editor.directional.degOption": "{deg}°",
|
||||
"maps.editor.directional.shapeHint": "Robot không được di chuyển ngược hướng mũi tên (bước 45°).",
|
||||
"maps.editor.directional.lineWidth": "Độ rộng line (px)",
|
||||
"maps.editor.directional.reversed": "Đảo hướng",
|
||||
"maps.editor.directional.lineHint": "Hướng theo line từ điểm đầu đến điểm cuối.",
|
||||
"maps.editor.directional.lineWidthInvalid": "Nhập độ rộng line hợp lệ (≥ 2 px).",
|
||||
"maps.editor.planner.title": "Planner zone",
|
||||
"maps.editor.planner.noLocalization": "No localization (chỉ encoder)",
|
||||
"maps.editor.planner.lookAhead": "Look-ahead (thu hẹp field of view)",
|
||||
"maps.editor.planner.ignoreObstacles": "Ignore obstacles",
|
||||
"maps.editor.planner.pathDeviation": "Path deviation (m)",
|
||||
"maps.editor.planner.pathTimeout": "Path timeout (s)",
|
||||
"maps.editor.io.title": "I/O zone",
|
||||
"maps.editor.io.module": "I/O module",
|
||||
"maps.editor.io.plcRegister": "PLC register",
|
||||
"maps.editor.io.plcValue": "Giá trị",
|
||||
"maps.editor.io.plcMode": "PLC mode",
|
||||
"maps.editor.io.plcModeSet": "Set",
|
||||
"maps.editor.io.plcModeAdd": "Add",
|
||||
"maps.editor.io.plcModeSubtract": "Subtract",
|
||||
"maps.editor.io.hint": "Robot kích hoạt I/O khi vào vùng này.",
|
||||
"maps.editor.io.moduleRequired": "Nhập tên I/O module.",
|
||||
"maps.menu.save": "Lưu map",
|
||||
|
||||
"sounds.title": "Sounds",
|
||||
"sounds.subtitle": "Setup → Sounds — upload và quản lý âm thanh robot cho sound zones.",
|
||||
"sounds.create": "Tạo sound",
|
||||
"sounds.createTitle": "Tạo sound",
|
||||
"sounds.editTitle": "Sửa sound",
|
||||
"sounds.empty": "Chưa có sound. Tạo mới để dùng trong sound zones.",
|
||||
"sounds.name": "Tên",
|
||||
"sounds.description": "Mô tả",
|
||||
"sounds.enabled": "Bật",
|
||||
"sounds.file": "File âm thanh",
|
||||
"sounds.noFile": "Chưa có file",
|
||||
"sounds.upload": "Upload file…",
|
||||
"sounds.play": "Phát",
|
||||
"sounds.playFailed": "Không phát được file.",
|
||||
"sounds.fileMeta": "{name} · {duration}",
|
||||
"sounds.nameRequired": "Nhập tên sound.",
|
||||
"sounds.deleteConfirm": "Xóa sound này?",
|
||||
|
||||
"missions.title": "Missions",
|
||||
"missions.subtitle": "Setup → Missions — danh sách nhiệm vụ robot.",
|
||||
"missions.create": "Tạo mission",
|
||||
@@ -592,6 +679,7 @@
|
||||
"nav.dashboardsList": "Dashboards",
|
||||
"nav.missions": "Missions",
|
||||
"nav.maps": "Maps",
|
||||
"nav.sounds": "Sounds",
|
||||
"nav.build-robot": "Build Robot",
|
||||
"nav.monitoring-log": "System log",
|
||||
"nav.integrations": "Integrations",
|
||||
@@ -923,8 +1011,94 @@
|
||||
"maps.editor.statusWorldIdle": "— m",
|
||||
"maps.editor.statusWorld": "X {x}, Y {y} m",
|
||||
"maps.editor.objectTypesNone": "No object-type selected",
|
||||
"maps.editor.objectType.wall": "Walls",
|
||||
"maps.editor.objectType.floor": "Floors",
|
||||
"maps.editor.objectType.position": "Positions",
|
||||
"maps.editor.objectType.forbidden": "Forbidden zones",
|
||||
"maps.editor.objectType.preferred": "Preferred zones",
|
||||
"maps.editor.objectType.unpreferred": "Unpreferred zones",
|
||||
"maps.editor.objectType.speed": "Speed zones",
|
||||
"maps.editor.objectType.sound": "Sound zones",
|
||||
"maps.editor.objectType.directional": "Directional zones",
|
||||
"maps.editor.objectType.directionalLine": "Directional lines",
|
||||
"maps.editor.objectType.planner": "Planner zones",
|
||||
"maps.editor.objectType.io": "I/O zones",
|
||||
"maps.editor.filter.walls": "Walls",
|
||||
"maps.editor.filter.floors": "Floors",
|
||||
"maps.editor.filter.positions": "Positions",
|
||||
"maps.editor.filter.forbidden": "Forbidden",
|
||||
"maps.editor.filter.preferred": "Preferred",
|
||||
"maps.editor.filter.unpreferred": "Unpreferred",
|
||||
"maps.editor.filter.speed": "Speed",
|
||||
"maps.editor.filter.sound": "Sound",
|
||||
"maps.editor.tool.draw": "Draw — line or polygon (walls, zones…)",
|
||||
"maps.editor.tool.select": "Select object",
|
||||
"maps.editor.tool.erase": "Eraser",
|
||||
"maps.editor.tool.eraser": "Pixel eraser — remove noise on floor plan (Walls/Floors layer)",
|
||||
"maps.editor.tool.eraseShape": "Erase shape or line",
|
||||
"maps.editor.tool.eraseSelection": "Erase by selection — clear pixels in rectangle",
|
||||
"maps.editor.tool.confirmDraw": "Confirm shape",
|
||||
"maps.editor.drawNeedMorePoints": "Add more points before confirming (wall ≥ 2, polygon ≥ 3).",
|
||||
"maps.editor.position.title": "Position",
|
||||
"maps.editor.position.name": "Name",
|
||||
"maps.editor.position.x": "X (m)",
|
||||
"maps.editor.position.y": "Y (m)",
|
||||
"maps.editor.position.yaw": "Orientation (°)",
|
||||
"maps.editor.position.hint": "Click map and drag to set orientation, then confirm.",
|
||||
"maps.editor.position.invalid": "Enter valid X, Y and orientation.",
|
||||
"maps.editor.speed.title": "Speed zone",
|
||||
"maps.editor.speed.limit": "Speed limit (m/s)",
|
||||
"maps.editor.speed.hint": "Robot slows to this speed inside the zone (0.1–1.5 m/s).",
|
||||
"maps.editor.speed.invalid": "Enter a valid speed (0.1–1.5 m/s).",
|
||||
"maps.editor.sound.title": "Sound zone",
|
||||
"maps.editor.sound.select": "Sound",
|
||||
"maps.editor.sound.noSound": "— Select sound —",
|
||||
"maps.editor.sound.manage": "Manage sounds in Setup → Sounds",
|
||||
"maps.editor.sound.invalid": "Select a sound.",
|
||||
"maps.editor.directional.title": "Directional zone",
|
||||
"maps.editor.directional.direction": "Direction",
|
||||
"maps.editor.directional.degOption": "{deg}°",
|
||||
"maps.editor.directional.shapeHint": "Robot cannot move opposite to the arrow (45° steps).",
|
||||
"maps.editor.directional.lineWidth": "Line width (px)",
|
||||
"maps.editor.directional.reversed": "Reverse direction",
|
||||
"maps.editor.directional.lineHint": "Direction follows the line from first to last point.",
|
||||
"maps.editor.directional.lineWidthInvalid": "Enter a valid line width (≥ 2 px).",
|
||||
"maps.editor.planner.title": "Planner zone",
|
||||
"maps.editor.planner.noLocalization": "No localization (encoders only)",
|
||||
"maps.editor.planner.lookAhead": "Look-ahead (narrow field of view)",
|
||||
"maps.editor.planner.ignoreObstacles": "Ignore obstacles",
|
||||
"maps.editor.planner.pathDeviation": "Path deviation (m)",
|
||||
"maps.editor.planner.pathTimeout": "Path timeout (s)",
|
||||
"maps.editor.io.title": "I/O zone",
|
||||
"maps.editor.io.module": "I/O module",
|
||||
"maps.editor.io.plcRegister": "PLC register",
|
||||
"maps.editor.io.plcValue": "Value",
|
||||
"maps.editor.io.plcMode": "PLC mode",
|
||||
"maps.editor.io.plcModeSet": "Set",
|
||||
"maps.editor.io.plcModeAdd": "Add",
|
||||
"maps.editor.io.plcModeSubtract": "Subtract",
|
||||
"maps.editor.io.hint": "Robot activates I/O when entering the zone.",
|
||||
"maps.editor.io.moduleRequired": "Enter an I/O module name.",
|
||||
"maps.menu.save": "Save map",
|
||||
|
||||
"sounds.title": "Sounds",
|
||||
"sounds.subtitle": "Setup → Sounds — upload and manage robot sounds for sound zones.",
|
||||
"sounds.create": "Create sound",
|
||||
"sounds.createTitle": "Create sound",
|
||||
"sounds.editTitle": "Edit sound",
|
||||
"sounds.empty": "No sounds yet. Create one to use in sound zones.",
|
||||
"sounds.name": "Name",
|
||||
"sounds.description": "Description",
|
||||
"sounds.enabled": "Enabled",
|
||||
"sounds.file": "Audio file",
|
||||
"sounds.noFile": "No file uploaded",
|
||||
"sounds.upload": "Upload file…",
|
||||
"sounds.play": "Play",
|
||||
"sounds.playFailed": "Could not play file.",
|
||||
"sounds.fileMeta": "{name} · {duration}",
|
||||
"sounds.nameRequired": "Enter a sound name.",
|
||||
"sounds.deleteConfirm": "Delete this sound?",
|
||||
|
||||
"missions.title": "Missions",
|
||||
"missions.subtitle": "Setup → Missions — robot task list.",
|
||||
"missions.create": "Create mission",
|
||||
|
||||
Reference in New Issue
Block a user