This commit is contained in:
268
www/i18n.js
268
www/i18n.js
@@ -28,6 +28,9 @@
|
||||
"common.error": "Lỗi: {msg}",
|
||||
"common.none": "none",
|
||||
"common.optional": "Tùy chọn",
|
||||
"common.yes": "Có",
|
||||
"common.no": "Không",
|
||||
"common.ok": "OK",
|
||||
|
||||
"login.prompt": "Chọn cách đăng nhập:",
|
||||
"login.tab.password": "Tên đăng nhập và mật khẩu",
|
||||
@@ -68,7 +71,8 @@
|
||||
"nav.dashboard": "Dashboard",
|
||||
"nav.dashboardsList": "Dashboards",
|
||||
"nav.missions": "Missions",
|
||||
"nav.maps": "Maps & layout",
|
||||
"nav.maps": "Maps",
|
||||
"nav.build-robot": "Build Robot",
|
||||
"nav.monitoring-log": "System log",
|
||||
"nav.integrations": "Tích hợp",
|
||||
"nav.help-api": "API documentation",
|
||||
@@ -149,7 +153,19 @@
|
||||
"dashboard.create.submit": "Tạo dashboard",
|
||||
"dashboard.create.cancel": "Hủy",
|
||||
"dashboard.dialog.editDashboard.title": "Sửa dashboard",
|
||||
"dashboard.designer.empty": "Chưa có widget. Phase B sẽ thêm designer đầy đủ.",
|
||||
"dashboard.designer.empty": "Chưa có widget trên dashboard này.",
|
||||
"dashboard.designer.emptyEdit": "Chưa có widget. Chọn loại widget trên thanh Maps / Missions / Miscellaneous.",
|
||||
"dashboard.designer.dragHint": "Kéo thanh tiêu đề để di chuyển widget trên lưới",
|
||||
"dashboard.designer.configure": "Cấu hình widget",
|
||||
"dashboard.designer.resize": "Kéo để đổi kích thước",
|
||||
"dashboard.designer.save": "Lưu",
|
||||
"dashboard.designer.saved": "Đã lưu",
|
||||
"dashboard.menu.maps": "Maps",
|
||||
"dashboard.menu.missions": "Missions",
|
||||
"dashboard.menu.plc": "PLC Registers",
|
||||
"dashboard.menu.io": "I/O",
|
||||
"dashboard.menu.misc": "Miscellaneous",
|
||||
"dashboard.menu.comingSoon": "Widget nhóm này sẽ có trong bản cập nhật sau.",
|
||||
"dashboard.createdBy.system": "MiR",
|
||||
"dashboard.addWidget": "Thêm widget",
|
||||
"dashboard.editLayout": "Sửa layout",
|
||||
@@ -171,6 +187,19 @@
|
||||
"dashboard.widget.mission_group": "Nhóm mission",
|
||||
"dashboard.widget.mission_queue": "Mission queue",
|
||||
"dashboard.widget.pause_continue": "Tạm dừng / Tiếp tục",
|
||||
"dashboard.widget.mission_action_log": "Mission action log",
|
||||
"dashboard.widget.logout_button": "Nút đăng xuất",
|
||||
"dashboard.widget.map_locked": "Locked map",
|
||||
"dashboard.widget.map": "Map",
|
||||
"dashboard.widget.robot_summary": "Robot summary",
|
||||
"dashboard.widget.field.map": "Map",
|
||||
"dashboard.widget.mapActive": "Active map (robot)",
|
||||
"dashboard.widget.mapHint": "Chọn map cố định hoặc để «Active map» dùng map đang gắn với robot.",
|
||||
"dashboard.widget.mapLoading": "Đang tải map…",
|
||||
"dashboard.widget.mapEmpty": "Chưa có map. Distributor tạo map qua API /api/maps.",
|
||||
"dashboard.widget.mapNoImage": "Chưa có ảnh map — upload qua POST /api/maps/{id}/image",
|
||||
"dashboard.widget.mapImageError": "Không tải được ảnh map.",
|
||||
"dashboard.widget.actionLog.empty": "Chưa có action đang chạy.",
|
||||
"dashboard.widget.field.mission": "Mission",
|
||||
"dashboard.widget.field.group": "Nhóm mission",
|
||||
"dashboard.widget.field.title": "Tiêu đề widget (tùy chọn)",
|
||||
@@ -255,6 +284,107 @@
|
||||
"config.motor.custom": "Tùy chỉnh",
|
||||
"config.motor.customMotor": "Motor tùy chỉnh",
|
||||
|
||||
"maps.title": "Maps",
|
||||
"maps.subtitle": "Tạo và chỉnh sửa map.",
|
||||
"maps.create": "Tạo map",
|
||||
"maps.importSite": "Import site",
|
||||
"maps.clearFilters": "Xóa bộ lọc",
|
||||
"maps.filterLabel": "Lọc:",
|
||||
"maps.filterPlaceholder": "Nhập tên để lọc…",
|
||||
"maps.itemsFound": "{n} mục",
|
||||
"maps.pageOf": "Trang {page} / {total}",
|
||||
"maps.colName": "Tên",
|
||||
"maps.colCreatedBy": "Tạo bởi",
|
||||
"maps.colFunctions": "Chức năng",
|
||||
"maps.empty": "Chưa có map. Bấm Tạo map để bắt đầu.",
|
||||
"maps.emptyFilter": "Không có map khớp bộ lọc.",
|
||||
"maps.activeBadge": "ACTIVE",
|
||||
"maps.activeHint": "Map đang hoạt động: {name}",
|
||||
"maps.view": "Xem",
|
||||
"maps.importComingSoon": "Import site sẽ có trong phiên bản sau.",
|
||||
"maps.helpTitle": "Trợ giúp Maps",
|
||||
"maps.helpText": "Tạo map mới, upload ảnh PNG qua menu ⋮, sau đó kích hoạt map cho robot.",
|
||||
"maps.createDialog.title": "Tạo map",
|
||||
"maps.createDialog.name": "Tên *",
|
||||
"maps.createDialog.site": "Site *",
|
||||
"maps.createDialog.manageSite": "Tạo / Sửa site…",
|
||||
"maps.createDialog.submit": "Tạo map",
|
||||
"maps.createPage.title": "Tạo map",
|
||||
"maps.createPage.subtitle": "Tạo map mới.",
|
||||
"maps.createPage.goBack": "Quay lại",
|
||||
"maps.createPage.name": "Tên",
|
||||
"maps.createPage.namePlaceholder": "Nhập tên map…",
|
||||
"maps.createPage.nameHelp": "Tên hiển thị trong danh sách Maps.",
|
||||
"maps.createPage.site": "Site",
|
||||
"maps.createPage.siteHelp": "Site chứa map trong cơ sở.",
|
||||
"maps.createPage.siteManage": "Tạo / Sửa",
|
||||
"maps.createPage.submit": "Tạo map",
|
||||
"maps.createPage.cancel": "Hủy",
|
||||
"maps.createPage.helpText": "Nhập tên map và chọn site, sau đó bấm Tạo map để mở trình editor.",
|
||||
"maps.siteDialog.create": "Tạo site",
|
||||
"maps.siteDialog.edit": "Sửa site",
|
||||
"maps.siteDialog.name": "Tên *",
|
||||
"maps.siteForm.create": "Tạo site",
|
||||
"maps.siteForm.edit": "Sửa site",
|
||||
"maps.siteForm.name": "Tên *",
|
||||
"maps.sitesDialog.title": "Sites",
|
||||
"maps.sitesDialog.createSite": "Tạo site",
|
||||
"maps.sitesDialog.description": "Site là container chứa maps và dữ liệu cơ sở trên robot.",
|
||||
"maps.sitesDialog.empty": "Chưa có site.",
|
||||
"maps.sitesDialog.deleteConfirm": "Xóa site \"{name}\"?",
|
||||
"maps.deleteConfirm": "Xóa map \"{name}\"?",
|
||||
"maps.error.nameEmpty": "Tên map không được để trống.",
|
||||
"maps.error.noImage": "Map chưa có ảnh — upload PNG trước khi kích hoạt.",
|
||||
"maps.error.pngOnly": "Chỉ chấp nhận file PNG.",
|
||||
"maps.activateDialog.title": "Kích hoạt map?",
|
||||
"maps.activateDialog.text": "Đặt \"{name}\" làm map hoạt động của robot?",
|
||||
"maps.menu.title": "Upload, download and record maps",
|
||||
"maps.menu.uploadOverwrite": "Upload and overwrite",
|
||||
"maps.menu.uploadOverwriteDesc": "Thay map hiện tại bằng map upload.",
|
||||
"maps.menu.uploadAppend": "Upload and append",
|
||||
"maps.menu.uploadAppendDesc": "Upload map mới và ghép vào map hiện tại.",
|
||||
"maps.menu.download": "Download map",
|
||||
"maps.menu.downloadDesc": "Tải map hiện tại.",
|
||||
"maps.menu.recordOverwrite": "Record and overwrite",
|
||||
"maps.menu.recordOverwriteDesc": "Thay map hiện tại bằng bản ghi map mới.",
|
||||
"maps.menu.recordAppend": "Record and append",
|
||||
"maps.menu.recordAppendDesc": "Ghi map mới và ghép vào map hiện tại.",
|
||||
"maps.menu.comingSoon": "Sắp có",
|
||||
"maps.menu.recordHint": "Cần LiDAR",
|
||||
"maps.settings.title": "Cài đặt map",
|
||||
"maps.settings.name": "Tên",
|
||||
"maps.settings.description": "Mô tả",
|
||||
"maps.settings.resolution": "Resolution (m/px)",
|
||||
"maps.settings.originX": "Origin X",
|
||||
"maps.settings.originY": "Origin Y",
|
||||
"maps.settings.originYaw": "Origin yaw",
|
||||
"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.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",
|
||||
"maps.editor.unsavedLeave": "Có thay đổi chưa lưu. Rời editor?",
|
||||
"maps.editor.menu": "Menu",
|
||||
"maps.editor.undo": "Hoàn tác",
|
||||
"maps.editor.save": "Lưu",
|
||||
"maps.editor.settings": "Cài đặt",
|
||||
"maps.editor.tool.search": "Tìm kiếm",
|
||||
"maps.editor.tool.save": "Lưu map",
|
||||
"maps.editor.tool.pan": "Pan — di chuyển vùng nhìn",
|
||||
"maps.editor.tool.crosshair": "Crosshair",
|
||||
"maps.editor.tool.center": "Căn giữa vùng nhìn",
|
||||
"maps.editor.tool.lidar": "Hiển thị LiDAR",
|
||||
"maps.editor.tool.waypoints": "Vị trí / waypoint",
|
||||
"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.objectTypesNone": "Chưa chọn object-type",
|
||||
"maps.menu.save": "Lưu map",
|
||||
|
||||
"missions.title": "Missions",
|
||||
"missions.subtitle": "Setup → Missions — danh sách nhiệm vụ robot.",
|
||||
"missions.create": "Tạo mission",
|
||||
@@ -398,6 +528,9 @@
|
||||
"common.error": "Error: {msg}",
|
||||
"common.none": "none",
|
||||
"common.optional": "Optional",
|
||||
"common.yes": "Yes",
|
||||
"common.no": "No",
|
||||
"common.ok": "OK",
|
||||
|
||||
"login.prompt": "Choose sign-in method:",
|
||||
"login.tab.password": "Username and password",
|
||||
@@ -438,7 +571,8 @@
|
||||
"nav.dashboard": "Dashboard",
|
||||
"nav.dashboardsList": "Dashboards",
|
||||
"nav.missions": "Missions",
|
||||
"nav.maps": "Maps & layout",
|
||||
"nav.maps": "Maps",
|
||||
"nav.build-robot": "Build Robot",
|
||||
"nav.monitoring-log": "System log",
|
||||
"nav.integrations": "Integrations",
|
||||
"nav.help-api": "API documentation",
|
||||
@@ -519,7 +653,19 @@
|
||||
"dashboard.create.submit": "Create dashboard",
|
||||
"dashboard.create.cancel": "Cancel",
|
||||
"dashboard.dialog.editDashboard.title": "Edit dashboard",
|
||||
"dashboard.designer.empty": "No widgets yet. Full designer coming in Phase B.",
|
||||
"dashboard.designer.empty": "This dashboard has no widgets yet.",
|
||||
"dashboard.designer.emptyEdit": "No widgets yet. Pick a type from the Maps / Missions / Miscellaneous toolbar.",
|
||||
"dashboard.designer.dragHint": "Drag the header bar to move the widget on the grid",
|
||||
"dashboard.designer.configure": "Configure widget",
|
||||
"dashboard.designer.resize": "Drag to resize",
|
||||
"dashboard.designer.save": "Save",
|
||||
"dashboard.designer.saved": "Saved",
|
||||
"dashboard.menu.maps": "Maps",
|
||||
"dashboard.menu.missions": "Missions",
|
||||
"dashboard.menu.plc": "PLC Registers",
|
||||
"dashboard.menu.io": "I/O",
|
||||
"dashboard.menu.misc": "Miscellaneous",
|
||||
"dashboard.menu.comingSoon": "Widgets in this category are coming in a future release.",
|
||||
"dashboard.createdBy.system": "MiR",
|
||||
"dashboard.addWidget": "Add widget",
|
||||
"dashboard.editLayout": "Edit layout",
|
||||
@@ -541,6 +687,19 @@
|
||||
"dashboard.widget.mission_group": "Mission group",
|
||||
"dashboard.widget.mission_queue": "Mission queue",
|
||||
"dashboard.widget.pause_continue": "Pause / Continue",
|
||||
"dashboard.widget.mission_action_log": "Mission action log",
|
||||
"dashboard.widget.logout_button": "Log-out button",
|
||||
"dashboard.widget.map_locked": "Locked map",
|
||||
"dashboard.widget.map": "Map",
|
||||
"dashboard.widget.robot_summary": "Robot summary",
|
||||
"dashboard.widget.field.map": "Map",
|
||||
"dashboard.widget.mapActive": "Active map (robot)",
|
||||
"dashboard.widget.mapHint": "Pick a fixed map or leave «Active map» to follow the robot's current map.",
|
||||
"dashboard.widget.mapLoading": "Loading map…",
|
||||
"dashboard.widget.mapEmpty": "No maps yet. A Distributor can create maps via /api/maps.",
|
||||
"dashboard.widget.mapNoImage": "No map image yet — upload via POST /api/maps/{id}/image",
|
||||
"dashboard.widget.mapImageError": "Could not load the map image.",
|
||||
"dashboard.widget.actionLog.empty": "No running action to show.",
|
||||
"dashboard.widget.field.mission": "Mission",
|
||||
"dashboard.widget.field.group": "Mission group",
|
||||
"dashboard.widget.field.title": "Widget title (optional)",
|
||||
@@ -625,6 +784,107 @@
|
||||
"config.motor.custom": "Custom",
|
||||
"config.motor.customMotor": "Custom motor",
|
||||
|
||||
"maps.title": "Maps",
|
||||
"maps.subtitle": "Create and edit maps.",
|
||||
"maps.create": "Create map",
|
||||
"maps.importSite": "Import site",
|
||||
"maps.clearFilters": "Clear filters",
|
||||
"maps.filterLabel": "Filter:",
|
||||
"maps.filterPlaceholder": "Write name to filter by...",
|
||||
"maps.itemsFound": "{n} item(s) found",
|
||||
"maps.pageOf": "Page {page} of {total}",
|
||||
"maps.colName": "Name",
|
||||
"maps.colCreatedBy": "Created by",
|
||||
"maps.colFunctions": "Functions",
|
||||
"maps.empty": "No maps yet. Click Create map to get started.",
|
||||
"maps.emptyFilter": "No maps match the filter.",
|
||||
"maps.activeBadge": "ACTIVE",
|
||||
"maps.activeHint": "Active map: {name}",
|
||||
"maps.view": "View",
|
||||
"maps.importComingSoon": "Import site will be available in a future release.",
|
||||
"maps.helpTitle": "Maps help",
|
||||
"maps.helpText": "Create a new map, upload a PNG via the ⋮ menu, then activate the map for the robot.",
|
||||
"maps.createDialog.title": "Create map",
|
||||
"maps.createDialog.name": "Name *",
|
||||
"maps.createDialog.site": "Site *",
|
||||
"maps.createDialog.manageSite": "Create / Edit site…",
|
||||
"maps.createDialog.submit": "Create map",
|
||||
"maps.createPage.title": "Create map",
|
||||
"maps.createPage.subtitle": "Create a new map.",
|
||||
"maps.createPage.goBack": "Go back",
|
||||
"maps.createPage.name": "Name",
|
||||
"maps.createPage.namePlaceholder": "Enter the map's name...",
|
||||
"maps.createPage.nameHelp": "Display name shown in the Maps list.",
|
||||
"maps.createPage.site": "Site",
|
||||
"maps.createPage.siteHelp": "The facility site that contains this map.",
|
||||
"maps.createPage.siteManage": "Create / Edit",
|
||||
"maps.createPage.submit": "Create map",
|
||||
"maps.createPage.cancel": "Cancel",
|
||||
"maps.createPage.helpText": "Enter a map name and select a site, then click Create map to open the editor.",
|
||||
"maps.siteDialog.create": "Create site",
|
||||
"maps.siteDialog.edit": "Edit site",
|
||||
"maps.siteDialog.name": "Name *",
|
||||
"maps.siteForm.create": "Create site",
|
||||
"maps.siteForm.edit": "Edit site",
|
||||
"maps.siteForm.name": "Name *",
|
||||
"maps.sitesDialog.title": "Sites",
|
||||
"maps.sitesDialog.createSite": "Create site",
|
||||
"maps.sitesDialog.description": "A site is a container for maps and other facility data on the robot.",
|
||||
"maps.sitesDialog.empty": "No sites yet.",
|
||||
"maps.sitesDialog.deleteConfirm": "Delete site \"{name}\"?",
|
||||
"maps.deleteConfirm": "Delete map \"{name}\"?",
|
||||
"maps.error.nameEmpty": "Map name is required.",
|
||||
"maps.error.noImage": "Map has no image — upload a PNG before activating.",
|
||||
"maps.error.pngOnly": "Only PNG files are accepted.",
|
||||
"maps.activateDialog.title": "Activate map?",
|
||||
"maps.activateDialog.text": "Set \"{name}\" as the robot's active map?",
|
||||
"maps.menu.title": "Upload, download and record maps",
|
||||
"maps.menu.uploadOverwrite": "Upload and overwrite",
|
||||
"maps.menu.uploadOverwriteDesc": "Replace existing map with uploaded map.",
|
||||
"maps.menu.uploadAppend": "Upload and append",
|
||||
"maps.menu.uploadAppendDesc": "Upload a new map and append it to current map.",
|
||||
"maps.menu.download": "Download map",
|
||||
"maps.menu.downloadDesc": "Download the current map.",
|
||||
"maps.menu.recordOverwrite": "Record and overwrite",
|
||||
"maps.menu.recordOverwriteDesc": "Replace existing map with new recording of map.",
|
||||
"maps.menu.recordAppend": "Record and append",
|
||||
"maps.menu.recordAppendDesc": "Record a new map and append it to current map.",
|
||||
"maps.menu.comingSoon": "Coming soon",
|
||||
"maps.menu.recordHint": "Requires LiDAR",
|
||||
"maps.settings.title": "Map settings",
|
||||
"maps.settings.name": "Name",
|
||||
"maps.settings.description": "Description",
|
||||
"maps.settings.resolution": "Resolution (m/px)",
|
||||
"maps.settings.originX": "Origin X",
|
||||
"maps.settings.originY": "Origin Y",
|
||||
"maps.settings.originYaw": "Origin yaw",
|
||||
"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.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",
|
||||
"maps.editor.unsavedLeave": "You have unsaved changes. Leave the editor?",
|
||||
"maps.editor.menu": "Menu",
|
||||
"maps.editor.undo": "Undo",
|
||||
"maps.editor.save": "Save",
|
||||
"maps.editor.settings": "Settings",
|
||||
"maps.editor.tool.search": "Search",
|
||||
"maps.editor.tool.save": "Save map",
|
||||
"maps.editor.tool.pan": "Pan — move view",
|
||||
"maps.editor.tool.crosshair": "Crosshair",
|
||||
"maps.editor.tool.center": "Center view",
|
||||
"maps.editor.tool.lidar": "LiDAR overlay",
|
||||
"maps.editor.tool.waypoints": "Positions",
|
||||
"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.objectTypesNone": "No object-type selected",
|
||||
"maps.menu.save": "Save map",
|
||||
|
||||
"missions.title": "Missions",
|
||||
"missions.subtitle": "Setup → Missions — robot task list.",
|
||||
"missions.create": "Create mission",
|
||||
|
||||
Reference in New Issue
Block a user