diff --git a/backend/lang/vi.json b/backend/lang/vi.json index 5d519a14e..9b456aa04 100644 --- a/backend/lang/vi.json +++ b/backend/lang/vi.json @@ -2044,8 +2044,8 @@ "New Maintenance Schedule": "Lịch bảo trì mới", "NEW MAPPING": "BẢN ĐỒ MỚI", "Machine state": "Trạng thái máy", - "New Material": "Vật liệu mới", - "New Material Lot": "Lô vật liệu mới", + "New Material": "Nguyên vật liệu mới", + "New Material Lot": "Lô nguyên vật liệu mới", "new materials will be created, existing ones updated with new data.": "các tài liệu mới sẽ được tạo ra, những tài liệu hiện có sẽ được cập nhật dữ liệu mới.", "New Modbus Connection": "Kết nối Modbus mới", "New MQTT Connection": "Kết nối MQTT mới", @@ -3990,8 +3990,8 @@ "New Trigger": "Trình kích hoạt mới", "New Sequence": "Quy tắc mới", "New Shift": "Ca mới", - "New Class": "Lớp mới", - "New Customer": "New Customer", + "New Class": "Phân loại mới", + "New Customer": "Khách hàng mới", "New Revision": "New Revision", "New Segment": "Phân đoạn mới", "New Event": "Sự kiện mới", @@ -4217,5 +4217,1217 @@ "Confirm move": "Xác nhận di chuyển", "Pallet Movements": "Lịch sử di chuyển Pallet", "No pallet movements recorded yet.": "Chưa ghi nhận lịch sử di chuyển pallet nào.", - "New location": "Vị trí mới" + "New location": "Vị trí mới", + "(optional)": "(tùy chọn)", + "+ Add": "+ Thêm", + "+ Add Product Type": "+ Thêm loại sản phẩm", + "+ Add line": "+ Thêm dây chuyền", + "+ New Absence": "+ Thêm lượt vắng mặt", + "+ New Scrap Reason": "+ Lý do phế phẩm mới", + "+ New order": "+ Đơn hàng mới", + "02 — BUTTONS": "02 — NÚT BẤM", + "03 — SWITCHES & CHECKBOX": "03 — CÔNG TẮC & Ô CHỌN", + "04 — INPUTS": "04 — Ô NHẬP DỮ LIỆU", + "05 — SELECTION & TABS": "05 — LỰA CHỌN & THẺ", + "06 — STATUS & BADGES": "06 — TRẠNG THÁI & HUY HIỆU", + "07 — MENUS & DROPDOWN": "07 — MENU & DANH SÁCH THẢ", + "08 — INLINE ALERTS": "08 — CẢNH BÁO TRỰC TIẾP", + "09/10 — OVERLAYS": "09/10 — LỚP PHỦ OVERLAY", + "10 — SWIPE ROW (swipe left)": "10 — HÀNG VUỐT (vuốt trái)", + "13 or 14 digits": "13 hoặc 14 chữ số", + "14 — DATE PICKER": "14 — BỘ CHỌN NGÀY", + "15 — SKELETON": "15 — KHUNG XƯƠNG (SKELETON)", + "2FA is not enabled.": "Xác thực 2 yếu tố (2FA) chưa được bật.", + "80–100%": "80–100%", + ":count high-tier customer order(s) overdue": ":count đơn hàng khách hàng cấp cao bị quá hạn", + ":count unestimated": ":count chưa được ước tính", + ":h h": ":h giờ", + ":h h :m min": ":h giờ :m phút", + ":n min": ":n phút", + ":produced units were already produced under the current revision and keep it.": ":produced sản phẩm đã được sản xuất theo phiên bản hiện tại và được giữ lại.", + "A batch is still in progress and will finish on its current configuration.": "Một lô sản xuất vẫn đang thực hiện và sẽ hoàn thành theo cấu hình hiện tại.", + "A change has been applied. Production can be resumed.": "Thay đổi đã được áp dụng. Có thể tiếp tục sản xuất.", + "A complete assembly keeps its engineering documents here, on its product type or product revision.": "Tài liệu kỹ thuật của cụm lắp ráp hoàn chỉnh được lưu tại đây, thuộc loại sản phẩm hoặc phiên bản sản phẩm này.", + "A configuration change is required": "Yêu cầu thay đổi cấu hình", + "A rejection is final. The reason stays on the record.": "Từ chối là quyết định cuối cùng. Lý do sẽ được lưu trong bản ghi.", + "A unique identifier, e.g. subiekt": "Mã định danh duy nhất, ví dụ: subiekt", + "A — Availability: actual run time vs planned (downtime impact)\nP — Performance: actual speed vs ideal (slow cycles impact)\nQ — Quality: good units vs total produced (defects impact)\n\nTarget: >85% world-class, 65–84% typical, <65% needs improvement.": "A — Khả dụng: thời gian chạy thực tế so với kế hoạch (ảnh hưởng bởi thời gian dừng máy)\nP — Hiệu suất: tốc độ thực tế so với lý tưởng (ảnh hưởng bởi chu kỳ chậm)\nQ — Chất lượng: số lượng đạt so với tổng sản lượng (ảnh hưởng bởi sản phẩm lỗi)\n\nMục tiêu: >85% đẳng cấp thế giới, 65–84% trung bình, <65% cần cải thiện.", + "ADD CRITERION": "THÊM TIÊU CHÍ", + "ADD PARAM": "THÊM THAM SỐ", + "ADMIN · SYSTEM": "QUẢN TRỊ · HỆ THỐNG", + "API key missing.": "Thiếu khóa API.", + "AVAILABLE": "KHẢ DỤNG", + "Account created successfully. Welcome to OpenMES!": "Tạo tài khoản thành công. Chào mừng bạn đến với OpenMES!", + "Account type": "Loại tài khoản", + "Action required": "Yêu cầu hành động", + "Active batches": "Các lô sản xuất đang hoạt động", + "Active line": "Dây chuyền đang hoạt động", + "Active lines": "Các dây chuyền đang hoạt động", + "Active only": "Chỉ các mục đang hoạt động", + "Active work orders snapshot the template, so deletion is safe but cannot be undone.": "Các lệnh sản xuất đang hoạt động sẽ lưu ảnh chụp nhanh của mẫu, do đó việc xóa là an toàn nhưng không thể hoàn tác.", + "Actual": "Thực tế", + "Actual cost (optional)": "Chi phí thực tế (tùy chọn)", + "Actual elapsed (minutes)": "Thời gian trôi qua thực tế (phút)", + "Actual run (minutes)": "Thời gian chạy thực tế (phút)", + "Actual setup (minutes)": "Thời gian thiết lập thực tế (phút)", + "Add": "Thêm", + "Add Material": "Thêm nguyên vật liệu", + "Add at least one column with a label and key": "Thêm ít nhất một cột có nhãn và khóa", + "Add at least one option": "Thêm ít nhất một tùy chọn", + "Add column": "Thêm cột", + "Add confirmation": "Thêm xác nhận", + "Add option": "Thêm tùy chọn", + "Add parameter": "Thêm tham số", + "Add produced quantity": "Thêm sản lượng sản xuất", + "Add server": "Thêm máy chủ", + "Add step": "Thêm bước", + "Add to BOM": "Thêm vào BOM", + "Add, edit, reorder, delete": "Thêm, sửa, sắp xếp lại, xóa", + "Adding :material here would create a circular BOM reference.": "Thêm :material vào đây sẽ tạo ra tham chiếu vòng trong BOM.", + "Additional": "Bổ sung", + "Adds:": "Thêm:", + "Advanced reports": "Báo cáo nâng cao", + "Affected batch": "Lô sản xuất bị ảnh hưởng", + "Alerts Dashboard": "Bảng điều khiển cảnh báo", + "All connections": "Tất cả kết nối", + "All crews": "Tất cả tổ làm việc", + "All customers": "Tất cả khách hàng", + "All day": "Cả ngày", + "All live": "Tất cả trực tiếp", + "All production": "Tất cả hoạt động sản xuất", + "All quality controls are up to date.": "Tất cả kiểm soát chất lượng đều đã được cập nhật.", + "All stations": "Tất cả trạm", + "All steps for this batch are done or skipped.": "Tất cả các bước cho lô sản xuất này đã hoàn thành hoặc bỏ qua.", + "All templates": "Tất cả mẫu", + "All tiers": "Tất cả cấp độ", + "All workstations": "Tất cả trạm sản xuất", + "Allocated": "Đã phân bổ", + "Allocated: :qty": "Đã phân bổ: :qty", + "Also runs on": "Cũng chạy trên", + "Amount": "Số lượng", + "An account with this email already exists.": "Tài khoản với email này đã tồn tại.", + "An approved change request must be applied before this order can resume.": "Yêu cầu thay đổi đã duyệt phải được áp dụng trước khi lệnh sản xuất này có thể tiếp tục.", + "Anomaly": "Bất thường", + "Appearance": "Giao diện", + "Applied": "Đã áp dụng", + "Applied as version :version": "Đã áp dụng dưới dạng phiên bản :version", + "Applies from": "Áp dụng từ", + "Apply change": "Áp dụng thay đổi", + "Apply change request": "Áp dụng yêu cầu thay đổi", + "Approve": "Phê duyệt", + "Approved": "Đã phê duyệt", + "Assign an order": "Gán lệnh sản xuất", + "Assign to": "Gán cho", + "Assign workstation": "Gán trạm sản xuất", + "At least 8 characters": "Ít nhất 8 ký tự", + "Attachments": "Tệp đính kèm", + "Auto-calculated from priority rules when any are active; otherwise set manually.": "Tự động tính từ các quy tắc ưu tiên khi có quy tắc kích hoạt; nếu không sẽ thiết lập thủ công.", + "Auto-generated from LOT sequence.": "Tự động tạo từ chuỗi LÔ.", + "Avail": "Khả dụng", + "Available for template steps": "Khả dụng cho các bước mẫu", + "Available for worker assignment": "Khả dụng để phân công công nhân", + "Avg / unit": "Trung bình / đơn vị", + "Avg batch size": "Kích thước lô trung bình", + "Awaiting acknowledgement": "Đang chờ xác nhận", + "BOM selection": "Chọn BOM", + "Back to home": "Quay lại trang chủ", + "Backflush on pallet creation": "Trừ kho tự động khi tạo pallet", + "Backlog clear — all orders scheduled.": "Đã giải quyết hết tồn đọng — tất cả lệnh sản xuất đã được lên lịch.", + "Band thresholds must be four strictly ascending numbers.": "Các ngưỡng dải phải là bốn số tăng dần nghiêm ngặt.", + "Batch #3 closed": "Đã đóng Lô #3", + "Batch #:no": "Lô sản xuất #:no", + "Batch step ID": "ID bước lô sản xuất", + "Bills of Materials": "Định mức nguyên vật liệu", + "Binding summary": "Tóm tắt liên kết", + "Block the line until the check passes": "Chặn dây chuyền cho đến khi kiểm tra đạt", + "Block the line until the issue is resolved": "Chặn dây chuyền cho đến khi sự cố được giải quyết", + "Blocking issue": "Vấn đề gây chặn", + "Blocking types notify supervisor immediately": "Các loại gây chặn sẽ thông báo ngay cho người giám sát", + "Both (machine + operator)": "Cả hai (máy + người vận hành)", + "Break windows": "Khoảng thời gian nghỉ", + "Bronze": "Đồng", + "By revenue": "Theo doanh thu", + "CATEGORY": "DANH MỤC", + "CLOSE": "ĐÓNG", + "CLOSE SHIFT": "ĐÓNG CA", + "COLUMNS": "CỘT", + "CONSUME FROM LOT": "TIÊU THỤ TỪ LÔ", + "CREW_ID": "ID_TỔ_LÀM_VIỆC", + "CRITERION": "TIÊU CHÍ", + "CURRENT OPERATION · STEP": "CÔNG ĐOẠN HIỆN TẠI · BƯỚC", + "Cancel batch": "Hủy lô sản xuất", + "Cancel work order": "Hủy lệnh sản xuất", + "Cancel work order :order?": "Hủy lệnh sản xuất :order?", + "Cancel work order {{no}}?": "Hủy lệnh sản xuất {{no}}?", + "Cannot delete a revision that is used by work orders.": "Không thể xóa phiên bản sửa đổi đang được sử dụng bởi các lệnh sản xuất.", + "Capacity": "Công suất", + "Change Reason": "Lý do thay đổi", + "Change hold": "Thay đổi trạng thái giữ", + "Change password": "Đổi mật khẩu", + "Change request :code": "Yêu cầu thay đổi :code", + "Change requests": "Yêu cầu thay đổi", + "Change undone.": "Đã hoàn tác thay đổi.", + "Characteristic": "Đặc tính", + "Checked": "Đã kiểm tra", + "Choose your modules": "Chọn các phân hệ của bạn", + "Click a cell to see and reschedule its work orders.": "Nhấp vào một ô để xem và đặt lại lịch các lệnh sản xuất.", + "Clock out": "Tan ca", + "Close shift & save snapshot": "Đóng ca & lưu ảnh chụp nhanh", + "Close shift?": "Đóng ca?", + "Closeout · balance": "Quyết toán · số dư", + "Column label": "Nhãn cột", + "Compact line view": "Chế độ xem dây chuyền thu gọn", + "Complete event": "Hoàn thành sự kiện", + "Complete work order": "Hoàn thành lệnh sản xuất", + "Completed batches": "Các lô sản xuất đã hoàn thành", + "Completed steps": "Các bước đã hoàn thành", + "Completion details": "Chi tiết hoàn thành", + "Component gallery": "Thư viện linh kiện", + "Components": "Linh kiện", + "Components used": "Linh kiện đã sử dụng", + "Configuration version": "Phiên bản cấu hình", + "Configuration:": "Cấu hình:", + "Configure a Modbus connection": "Cấu hình kết nối Modbus", + "Confirm actual times": "Xác nhận thời gian thực tế", + "Confirm you have read the instructions before completing this step.": "Xác nhận bạn đã đọc hướng dẫn trước khi hoàn thành bước này.", + "Conflicts with work already done": "Xung đột với công việc đã thực hiện", + "Connected": "Đã kết nối", + "Connection name": "Tên kết nối", + "Connectivity Mappings": "Ánh xạ kết nối", + "Consume from this lot": "Tiêu hao từ lô này", + "Consumed quantity": "Số lượng tiêu hao", + "Consumption log": "Nhật ký tiêu hao", + "Continued from": "Tiếp tục từ", + "Continues on": "Tiếp tục lúc", + "Core production tracking + Reports. The simplest setup — recommended for small shops.": "Theo dõi sản xuất cốt lõi + Báo cáo. Thiết lập đơn giản nhất — khuyến nghị cho xưởng nhỏ.", + "Cotton fabric": "Vải cotton", + "Could not close shift": "Không thể đóng ca", + "Could not consume": "Không thể tiêu hao", + "Could not create area": "Không thể tạo khu vực", + "Could not create class": "Không thể tạo phân loại", + "Could not create event": "Không thể tạo sự kiện", + "Could not create plan": "Không thể tạo kế hoạch", + "Could not create schedule": "Không thể tạo lịch trình", + "Could not create segment": "Không thể tạo công đoạn", + "Could not create site": "Không thể tạo nhà máy", + "Could not generate": "Không thể tạo", + "Could not load engineering documents.": "Không thể tải tài liệu kỹ thuật.", + "Could not load work orders.": "Không thể tải các lệnh sản xuất.", + "Could not move": "Không thể di chuyển", + "Could not process": "Không thể xử lý", + "Could not raise check": "Không thể yêu cầu kiểm tra", + "Could not record control": "Không thể ghi nhận kiểm soát", + "Could not reschedule.": "Không thể lên lại lịch trình.", + "Could not restore": "Không thể khôi phục", + "Could not retry": "Không thể thử lại", + "Could not save": "Không thể lưu", + "Could not save absence": "Không thể lưu thông tin vắng mặt", + "Could not save break window": "Không thể lưu khoảng thời gian nghỉ", + "Could not skip": "Không thể bỏ qua", + "Could not start batch": "Không thể bắt đầu lô sản xuất", + "Could not update schedule": "Không thể cập nhật lịch trình", + "Counting Source": "Nguồn đếm", + "Country": "Quốc gia", + "Create Batch": "Tạo lô sản xuất", + "Create EAN": "Tạo mã EAN", + "Create Template": "Tạo mẫu", + "Create break window": "Tạo khoảng thời gian nghỉ", + "Create change request": "Tạo yêu cầu thay đổi", + "Create connection": "Tạo kết nối", + "Create mapping": "Tạo ánh xạ", + "Create one maintenance event from this schedule immediately?": "Tạo ngay một sự kiện bảo trì từ lịch trình này?", + "Create plan": "Tạo kế hoạch", + "Create topic": "Tạo chủ đề", + "Create user": "Tạo người dùng", + "Crew #{{id}}": "Tổ làm việc #{{id}}", + "Crew planned hours are the labor demand of the lines each crew staffs.": "Số giờ kế hoạch của tổ làm việc là nhu cầu lao động của các dây chuyền do tổ đó phụ trách.", + "Criteria templates": "Mẫu tiêu chí", + "Current OEE": "OEE hiện tại", + "Custom statuses": "Trạng thái tùy chỉnh", + "Customer :status successfully.": "Khách hàng đã :status thành công.", + "Customer and supplier company records.": "Hồ sơ công ty khách hàng và nhà cung cấp.", + "Customer created successfully.": "Tạo khách hàng thành công.", + "Customer deleted successfully.": "Xóa khách hàng thành công.", + "Customer orders": "Đơn hàng khách hàng", + "Customer reference": "Mã tham chiếu khách hàng", + "Customer updated successfully.": "Cập nhật khách hàng thành công.", + "Cycle": "Chu kỳ", + "DESCRIPTION": "MÔ TẢ", + "DISCREPANCIES": "SAI LỆCH", + "DISPLAY_NAME": "TÊN_HIỂN_THỊ", + "DONE TODAY": "HOÀN THÀNH HÔM NAY", + "DT": "DT", + "Daily records": "Nhật ký hàng ngày", + "Dates": "Ngày", + "Days of week": "Các ngày trong tuần", + "Default fallback": "Dự phòng mặc định", + "Default scrap %": "% phế phẩm mặc định", + "Defaults": "Giá trị mặc định", + "Defect categories": "Danh mục lỗi", + "Define Kanban columns for this line": "Xác định các cột Kanban cho dây chuyền này", + "Delete \":name\"?": "Xóa \":name\"?", + "Delete \"{{name}}\"?": "Xóa \"{{name}}\"?", + "Delete \"{{title}}\"?": "Xóa \"{{title}}\"?", + "Delete LOT sequence": "Xóa chuỗi lô", + "Delete QC template": "Xóa mẫu QC", + "Delete QC trigger?": "Xóa bộ kích hoạt QC?", + "Delete absence": "Xóa lịch vắng mặt", + "Delete account": "Xóa tài khoản", + "Delete anomaly reason": "Xóa lý do bất thường", + "Delete anomaly?": "Xóa bất thường?", + "Delete area": "Xóa khu vực", + "Delete attachment?": "Xóa tệp đính kèm?", + "Delete batch": "Xóa lô sản xuất", + "Delete break window": "Xóa khoảng thời gian nghỉ", + "Delete company": "Xóa công ty", + "Delete cost source": "Xóa nguồn chi phí", + "Delete cost?": "Xóa chi phí?", + "Delete crew": "Xóa tổ làm việc", + "Delete custom field?": "Xóa trường tùy chỉnh?", + "Delete customer \":name\"?": "Xóa khách hàng \":name\"?", + "Delete division": "Xóa bộ phận", + "Delete engineering document \":name\"?": "Xóa tài liệu kỹ thuật \":name\"?", + "Delete event": "Xóa sự kiện", + "Delete factory": "Xóa nhà máy", + "Delete integration?": "Xóa tích hợp?", + "Delete issue type": "Xóa loại sự cố", + "Delete label template?": "Xóa mẫu nhãn?", + "Delete line": "Xóa dây chuyền", + "Delete maintenance event": "Xóa sự kiện bảo trì", + "Delete maintenance event?": "Xóa sự kiện bảo trì?", + "Delete material": "Xóa nguyên vật liệu", + "Delete material?": "Xóa nguyên vật liệu?", + "Delete pallet?": "Xóa pallet?", + "Delete personnel class": "Xóa phân loại nhân sự", + "Delete plan": "Xóa kế hoạch", + "Delete process segment?": "Xóa công đoạn quy trình?", + "Delete product type": "Xóa loại sản phẩm", + "Delete reason": "Xóa lý do", + "Delete revision \":code\"?": "Xóa phiên bản \":code\"?", + "Delete schedule": "Xóa lịch trình", + "Delete scrap reason": "Xóa lý do phế phẩm", + "Delete shift": "Xóa ca", + "Delete site": "Xóa cơ sở", + "Delete skill": "Xóa kỹ năng", + "Delete subassembly": "Xóa cụm phụ", + "Delete template": "Xóa mẫu", + "Delete this absence?": "Xóa lịch vắng mặt này?", + "Delete tool": "Xóa dụng cụ", + "Delete view template?": "Xóa mẫu hiển thị?", + "Delete wage group": "Xóa nhóm lương", + "Delete webhook?": "Xóa webhook?", + "Delete work order": "Xóa lệnh sản xuất", + "Delete work order :order? (only allowed if it has no batches)": "Xóa lệnh sản xuất :order? (chỉ cho phép nếu không có lô sản xuất)", + "Delete work order {{no}}? (only allowed if it has no batches)": "Xóa lệnh sản xuất {{no}}? (chỉ cho phép nếu không có lô sản xuất)", + "Delete worker": "Xóa công nhân", + "Delete workstation": "Xóa trạm sản xuất", + "Delete workstation type": "Xóa loại trạm sản xuất", + "Deliver events to this endpoint": "Gửi các sự kiện đến điểm cuối này", + "Destination": "Điểm đến", + "Dev": "Phát triển", + "Disconnected": "Đã ngắt kết nối", + "Dismiss": "Bỏ qua", + "Disposition of material": "Xử lý nguyên vật liệu", + "Disposition of produced units": "Xử lý sản phẩm sản xuất", + "Do not record downtime": "Không ghi nhận thời gian dừng máy", + "Document": "Tài liệu", + "Document attached.": "Đã đính kèm tài liệu.", + "Document type": "Loại tài liệu", + "Document validated.": "Đã xác thực tài liệu.", + "Done today": "Hoàn tất hôm nay", + "Downtime by reason · 7d": "Thời gian dừng máy theo lý do · 7 ngày", + "Downtime reason": "Lý do dừng máy", + "Drag a bar sideways to reschedule · drag edges to resize · snaps to": "Kéo thanh sang hai bên để đổi lịch · kéo các mép để thay đổi kích thước · tự động căn chỉnh theo", + "Drag a block between shift cells or from the backlog · click an empty cell to assign · ✕ returns to backlog": "Kéo khối công việc giữa các ca hoặc từ danh sách tồn · nhấp vào ô trống để phân công · nút ✕ để đưa về danh sách tồn", + "Drag a block to move it (across shifts, days or lines) · drag its edges to stretch across shifts · click an empty cell to assign · ✕ returns to backlog": "Kéo khối công việc để di chuyển (qua các ca, ngày hoặc dây chuyền) · kéo các mép để mở rộng qua các ca · nhấp vào ô trống để phân công · nút ✕ để đưa về danh sách tồn", + "Drag backlog cards onto a slot, drag scheduled cards to move them, or click an empty slot to assign. Click a card to edit.": "Kéo thẻ từ danh sách tồn vào ô, kéo thẻ đã lập lịch để di chuyển, hoặc nhấp vào ô trống để phân công. Nhấp vào thẻ để chỉnh sửa.", + "Drag failed": "Kéo thất bại", + "Drawing (PDF)": "Bản vẽ (PDF)", + "Drive belt wear — replace": "Dây đai truyền động mòn — thay thế", + "Duration min": "Thời lượng (phút)", + "EANs": "Mã EAN", + "EDIT SCHEDULE": "CHỈNH SỬA LỊCH", + "EMAIL PASSWORD + LOGIN URL ON CREATE": "GỬI EMAIL MẬT KHẨU + URL ĐĂNG NHẬP KHI TẠO", + "EMPLOYEE_NO": "MÃ_NHÂN_VIÊN", + "EUR": "EUR", + "EXP": "EXP", + "Each cell shows planned vs available hours.": "Mỗi ô hiển thị số giờ kế hoạch so với số giờ khả dụng.", + "Edit Customer": "Chỉnh sửa khách hàng", + "Edit Product Revision": "Chỉnh sửa phiên bản sản phẩm", + "Edit QC template": "Chỉnh sửa mẫu kiểm tra chất lượng", + "Edit QC trigger": "Chỉnh sửa điều kiện kích hoạt QC", + "Edit Template": "Chỉnh sửa mẫu", + "Edit account": "Chỉnh sửa tài khoản", + "Edit area": "Chỉnh sửa khu vực", + "Edit connection": "Chỉnh sửa kết nối", + "Edit crew": "Chỉnh sửa tổ làm việc", + "Edit custom field": "Chỉnh sửa trường tùy chỉnh", + "Edit division": "Chỉnh sửa bộ phận", + "Edit factory": "Chỉnh sửa nhà máy", + "Edit integration": "Chỉnh sửa tích hợp", + "Edit label template": "Chỉnh sửa mẫu nhãn", + "Edit line": "Chỉnh sửa dây chuyền", + "Edit maintenance schedule": "Chỉnh sửa lịch bảo trì", + "Edit mapping": "Chỉnh sửa ánh xạ", + "Edit material": "Chỉnh sửa nguyên vật liệu", + "Edit pallet": "Chỉnh sửa pallet", + "Edit personnel class": "Chỉnh sửa phân loại nhân sự", + "Edit product type": "Chỉnh sửa loại sản phẩm", + "Edit segment": "Chỉnh sửa công đoạn", + "Edit shift": "Chỉnh sửa ca làm việc", + "Edit site": "Chỉnh sửa địa điểm", + "Edit skill": "Chỉnh sửa kỹ năng", + "Edit steps": "Chỉnh sửa các bước", + "Edit tool": "Chỉnh sửa công cụ", + "Edit topic": "Chỉnh sửa chủ đề", + "Edit view template": "Chỉnh sửa mẫu hiển thị", + "Edit wage group": "Chỉnh sửa nhóm lương", + "Edit webhook": "Chỉnh sửa webhook", + "Edit workstation": "Chỉnh sửa trạm sản xuất", + "Edit workstation type": "Chỉnh sửa loại trạm sản xuất", + "Effective from": "Có hiệu lực từ", + "Effective to": "Có hiệu lực đến", + "Employee": "Nhân viên", + "Employee Schedule": "Lịch làm việc của nhân viên", + "Enable from web admin → Modules to use this screen.": "Bật từ trang quản trị web → Phân hệ để sử dụng màn hình này.", + "Encrypt the broker connection": "Mã hóa kết nối broker", + "Ends": "Kết thúc", + "Engineering change": "Thay đổi kỹ thuật", + "Engineering documents": "Tài liệu kỹ thuật", + "Enter a number ≥ 1": "Nhập một số ≥ 1", + "Error on duplicate": "Lỗi khi trùng lặp", + "Est.": "Ước tính", + "Estimated duration (minutes)": "Thời lượng ước tính (phút)", + "Europe/Warsaw": "Europe/Warsaw", + "Event Logs": "Nhật ký sự kiện", + "Every (n)": "Mỗi (n)", + "Every 50 units": "Mỗi 50 đơn vị", + "External Reference": "Tham chiếu bên ngoài", + "External code": "Mã bên ngoài", + "External reference": "Tham chiếu bên ngoài", + "External system": "Hệ thống bên ngoài", + "FIRST_NAME": "TÊN", + "Field Path": "Đường dẫn trường", + "Field is shown on forms": "Trường được hiển thị trên biểu mẫu", + "Field key": "Khóa trường", + "File type “:ext” is not an allowed engineering format.": "Loại tệp “:ext” không phải là định dạng kỹ thuật được phép.", + "Filled in after completion": "Được điền sau khi hoàn thành", + "Filter by entity type": "Lọc theo loại đối tượng", + "Filter by event type or entity": "Lọc theo loại sự kiện hoặc đối tượng", + "First name": "Tên", + "Fleet": "Đội xe", + "For an interactive HTML package, upload a .zip or a single .html.": "Đối với gói HTML tương tác, hãy tải lên tệp .zip hoặc một tệp .html duy nhất.", + "For the remaining quantity": "Đối với số lượng còn lại", + "Force password change": "Bắt buộc đổi mật khẩu", + "Forward trace - packed & shipped": "Truy xuất xuôi - đã đóng gói & giao hàng", + "Forward — consumed into": "Truy xuất xuôi — được tiêu hao vào", + "From batch #:batch": "Từ lô sản xuất số #:batch", + "From the next batch": "Từ lô sản xuất tiếp theo", + "From unit :qty onwards": "Từ đơn vị :qty trở đi", + "Full shop-floor operations: reports, quality & maintenance, machine connectivity and packaging.": "Toàn bộ hoạt động xưởng sản xuất: báo cáo, chất lượng & bảo trì, kết nối máy móc và đóng gói.", + "Genealogy · tree view": "Phả hệ sản phẩm · chế độ xem cây", + "Generate": "Tạo", + "Generate events from this schedule": "Tạo sự kiện từ lịch trình này", + "Generate the event N days before it is due": "Tạo sự kiện N ngày trước ngày đến hạn", + "Generate the event N days before next_due_at": "Tạo sự kiện N ngày trước next_due_at", + "Gold": "Vàng", + "HH:MM": "HH:MM", + "HH:mm": "HH:mm", + "Healthy": "Bình thường", + "Hide engineering documents": "Ẩn tài liệu kỹ thuật", + "High severity": "Mức độ nghiêm trọng cao", + "Higher means the customer pays more reliably. Feeds priority scoring.": "Chỉ số cao hơn nghĩa là khách hàng thanh toán đáng tin cậy hơn. Dùng để tính điểm ưu tiên.", + "Highest-revenue customers and total revenue": "Khách hàng có doanh thu cao nhất và tổng doanh thu", + "Hourly rate": "Đơn giá theo giờ", + "I have read the instructions": "Tôi đã đọc hướng dẫn", + "IANA timezone name (e.g. Europe/Warsaw)": "Tên múi giờ IANA (ví dụ: Europe/Warsaw)", + "IDENTITY": "ĐỊNH DANH", + "INSTALLED VERSION": "PHIÊN BẢN ĐÃ CÀI ĐẶT", + "ISA-95 personnel class code (e.g. OP-A1)": "Mã phân loại nhân sự ISA-95 (ví dụ: OP-A1)", + "ISO 8601 — minute precision": "ISO 8601 — độ chính xác đến phút", + "ISO 8601 — minute precision (e.g. 2026-06-01T08:00:00)": "ISO 8601 — độ chính xác đến phút (ví dụ: 2026-06-01T08:00:00)", + "Identifiers": "Mã định danh", + "Immediate is only possible while nothing has been executed under the current configuration.": "Chế độ tức thì chỉ khả thi khi chưa có tác vụ nào được thực thi theo cấu hình hiện tại.", + "Immediately": "Tức thì", + "Impact": "Mức độ ảnh hưởng", + "Implementation notes": "Ghi chú triển khai", + "Import work orders": "Nhập lệnh sản xuất", + "Import work orders from a CSV file with custom column mapping": "Nhập lệnh sản xuất từ tệp CSV với ánh xạ cột tùy chỉnh", + "Imports": "Nhập dữ liệu", + "Incorrect password.": "Mật khẩu không đúng.", + "Inspection plans": "Kế hoạch kiểm tra", + "Instructions acknowledged by :name on :date": "Hướng dẫn đã được xác nhận bởi :name vào :date", + "Instructions acknowledged.": "Đã xác nhận hướng dẫn.", + "Integration is enabled": "Tích hợp đã được bật", + "Interactive viewer": "Trình xem tương tác", + "Interactive viewer — sandboxed": "Trình xem tương tác — môi trường cô lập (sandbox)", + "Interval value": "Giá trị khoảng thời gian", + "Invalid authentication code.": "Mã xác thực không hợp lệ.", + "Invalid code. Please try again.": "Mã không hợp lệ. Vui lòng thử lại.", + "Invalid or expired API key.": "Khóa API không hợp lệ hoặc đã hết hạn.", + "Invalid recovery code.": "Mã khôi phục không hợp lệ.", + "Invalid username or PIN.": "Tên người dùng hoặc mã PIN không hợp lệ.", + "Issue types": "Loại sự cố", + "Issues & reasons": "Sự cố & lý do", + "Issues and scrap / anomaly reason codes.": "Mã lý do sự cố và phế phẩm / bất thường.", + "JSONPath into the payload — e.g. data.good_qty": "JSONPath vào dữ liệu tải — ví dụ: data.good_qty", + "Karolina": "Karolina", + "Karolina Wójcik": "Karolina Wójcik", + "Keep alive (seconds)": "Thời gian duy trì kết nối (giây)", + "Key cannot change after creation": "Khóa không thể thay đổi sau khi tạo", + "Kind": "Loại", + "LAST_NAME": "HỌ", + "LINES USING": "DÂY CHUYỀN ĐANG SỬ DỤNG", + "LOADING LINES…": "ĐANG TẢI DÂY CHUYỀN…", + "LONG-PRESS A SERVER TO RENAME OR REMOVE": "NHẤN GIỮ MỘT MÁY CHỦ ĐỂ ĐỔI TÊN HOẶC XÓA", + "LOT #{{id}}": "LÔ #{{id}}", + "LOT number (override, optional)": "Số LÔ (ghi đè, tùy chọn)", + "Last name": "Họ", + "Last sync": "Lần đồng bộ gần nhất", + "Latest": "Mới nhất", + "Leave blank to auto-generate": "Để trống để tự động tạo", + "Leave blank to consume from the parent lot directly": "Để trống để tiêu hao trực tiếp từ lô gốc", + "Leave blank to keep the current secret": "Để trống để giữ nguyên khóa bảo mật hiện tại", + "Leave blank to use a generated ID": "Để trống để sử dụng ID tự động tạo", + "Leave both blank for a plan that applies to anything.": "Để trống cả hai nếu muốn áp dụng kế hoạch cho tất cả.", + "Letters, digits, dot or hyphen — e.g. A, 01, C.2.": "Chữ cái, chữ số, dấu chấm hoặc dấu gạch nối — ví dụ: A, 01, C.2.", + "Lifecycle": "Vòng đời", + "Lightweight": "Tối giản", + "Line / Load": "Dây chuyền / Tải trọng", + "Line assignments": "Phân công dây chuyền", + "Line dashboard column presets.": "Cấu hình cột bảng điều khiển dây chuyền.", + "Line stopped?": "Dây chuyền đã dừng?", + "Line · Load": "Dây chuyền · Tải", + "Line · Shift": "Dây chuyền · Ca", + "Lines this crew staffs (drives its labor demand on the capacity view).": "Các dây chuyền do tổ làm việc này đảm nhận (quy định nhu cầu nhân công trên chế độ xem công suất).", + "Listen on this topic": "Lắng nghe trên topic này", + "Live fleet": "Đội thiết bị thời gian thực", + "Live message log": "Nhật ký tin nhắn thời gian thực", + "Live operations": "Vận hành thời gian thực", + "Live tail · failed jobs": "Theo dõi trực tiếp · các tác vụ thất bại", + "Live tail · {{n}} entries · polling 5s": "Theo dõi trực tiếp · {{n}} mục · quét mỗi 5s", + "Live tracking": "Theo dõi thời gian thực", + "Log output": "Đầu ra nhật ký", + "Logistics operator (can move pallets)": "Nhân viên kho vận (có thể di chuyển pallet)", + "Long-press a bar on the planner to drag it. Use this modal for line changes and exact times.": "Nhấn giữ một thanh trên trình lập kế hoạch để kéo. Sử dụng cửa sổ này để thay đổi dây chuyền và thời gian chính xác.", + "Lot Genealogy": "Nguồn gốc lô vật tư", + "Lot Sequences": "Thứ tự lô", + "Lot not yet consumed.": "Lô chưa được tiêu hao.", + "Lower numbers run first": "Số nhỏ hơn sẽ chạy trước", + "Lowercase letters, numbers and underscores; must start with a letter": "Chữ cái viết thường, chữ số và dấu gạch dưới; phải bắt đầu bằng chữ cái", + "Lowercase, no spaces. Must be unique.": "Chữ thường, không khoảng trắng. Phải là duy nhất.", + "MAT-001": "MAT-001", + "MQTT connectivity": "Kết nối MQTT", + "MQTT off": "MQTT tắt", + "MQTT wildcards (+, #) are accepted": "Chấp nhận ký tự đại diện MQTT (+, #)", + "MRP · shortages": "MRP · thiếu hụt vật tư", + "MY STATION": "TRẠM CỦA TÔI", + "Machine (automatic)": "Máy (tự động)", + "Machine failure": "Sự cố máy", + "Machine monitor": "Giám sát máy", + "Maintenance & QC": "Bảo trì & QC", + "Maintenance history": "Lịch sử bảo trì", + "Manage": "Quản lý", + "Manage divisions inside this factory": "Quản lý các bộ phận trong nhà máy này", + "Manage workstations on this line": "Quản lý các trạm sản xuất trên dây chuyền này", + "Mandatory": "Bắt buộc", + "Mapping": "Ánh xạ", + "Mark obsolete": "Đánh dấu ngưng sử dụng", + "Mark resolved": "Đánh dấu đã giải quyết", + "Mark revision \":code\" obsolete? It stays for history but is no longer selectable.": "Đánh dấu phiên bản \":code\" là ngưng sử dụng? Phiên bản này được lưu lại cho lịch sử nhưng không thể chọn nữa.", + "Mark this event as cancelled?": "Đánh dấu sự kiện này là bị hủy?", + "Marks the order as effectively complete": "Đánh dấu lệnh/đơn hàng là hoàn tất trên thực tế", + "Material #{{id}}": "Nguyên vật liệu #{{id}}", + "Material (optional)": "Nguyên vật liệu (tùy chọn)", + "Material allocated": "Nguyên vật liệu đã cấp phát", + "Material consumed": "Nguyên vật liệu đã tiêu hao", + "Material has already been consumed; existing consumption is not recalculated.": "Nguyên vật liệu đã được tiêu hao; lượng tiêu hao hiện tại không được tính toán lại.", + "Material is in use": "Nguyên vật liệu đang được sử dụng", + "Material reclassified": "Nguyên vật liệu đã phân loại lại", + "Material returned to stock": "Nguyên vật liệu đã trả về kho", + "Material shortage": "Thiếu hụt nguyên vật liệu", + "Material sources": "Nguồn nguyên vật liệu", + "Material type (optional)": "Loại nguyên vật liệu (tùy chọn)", + "Materials & tracing": "Nguyên vật liệu & truy xuất", + "Materials reconciliation": "Đối chiếu nguyên vật liệu", + "Materials, material lots and traceability.": "Nguyên vật liệu, lô nguyên vật liệu và truy xuất nguồn gốc.", + "Max (optional)": "Tối đa (tùy chọn)", + "Max 10 MB · .csv, .txt": "Tối đa 10 MB · .csv, .txt", + "Menu": "Menu", + "Min (optional)": "Tối thiểu (tùy chọn)", + "Min checks per batch (optional)": "Số lần kiểm tra tối thiểu mỗi lô sản xuất (tùy chọn)", + "Min checks per day (optional)": "Số lần kiểm tra tối thiểu mỗi ngày (tùy chọn)", + "Min/Batch": "Tối thiểu/Lô", + "Missing": "Thiếu", + "Moving the line while a batch is running may strand its workstation assignments.": "Di chuyển dây chuyền trong khi lô sản xuất đang chạy có thể làm gián đoạn phân công trạm sản xuất của lô đó.", + "Msg/min": "Tin nhắn/phút", + "Multi-select — workers must hold every selected skill": "Chọn nhiều — công nhân phải có đủ tất cả kỹ năng được chọn", + "Must be filled in": "Bắt buộc phải điền", + "Must be strictly after planned start": "Phải sau thời gian bắt đầu dự kiến", + "My integration": "Tích hợp của tôi", + "My schedule": "Lịch trình của tôi", + "My shift": "Ca của tôi", + "NO LINES EXIST YET": "CHƯA CÓ DÂY CHUYỀN NÀO", + "NO SKILLS DEFINED YET": "CHƯA ĐỊNH NGHĨA KỸ NĂNG NÀO", + "Name may only contain letters, spaces, hyphens and apostrophes.": "Tên chỉ được chứa chữ cái, khoảng trắng, dấu gạch nối và dấu nháy đơn.", + "Native CAD": "CAD gốc", + "Near capacity": "Gần đạt công suất", + "Neutral CAD": "CAD trung tính", + "New EAN": "Mã EAN mới", + "New Product Revision": "Phiên bản sản phẩm mới", + "New QC template": "Mẫu QC mới", + "New QC trigger": "Kích hoạt QC mới", + "New anomaly": "Bất thường mới", + "New area": "Khu vực mới", + "New batch": "Lô sản xuất mới", + "New change request": "Yêu cầu thay đổi mới", + "New connection": "Kết nối mới", + "New cost": "Chi phí mới", + "New crew": "Tổ làm việc mới", + "New custom field": "Trường tùy chỉnh mới", + "New division": "Bộ phận mới", + "New event": "Sự kiện mới", + "New factory": "Nhà máy mới", + "New field": "Trường mới", + "New integration": "Tích hợp mới", + "New label template": "Mẫu nhãn mới", + "New line": "Dây chuyền mới", + "New maintenance event": "Sự kiện bảo trì mới", + "New mapping": "Ánh xạ mới", + "New material": "Vật tư mới", + "New pallet": "Pallet mới", + "New password": "Mật khẩu mới", + "New personnel class": "Nhóm nhân sự mới", + "New product type": "Loại sản phẩm mới", + "New segment": "Phân đoạn mới", + "New shift": "Ca làm việc mới", + "New site": "Địa điểm mới", + "New skill": "Kỹ năng mới", + "New status": "Trạng thái mới", + "New step": "Bước mới", + "New template": "Mẫu mới", + "New tool": "Dụng cụ mới", + "New topic": "Chủ đề mới", + "New trigger": "Bộ kích hoạt mới", + "New view template": "Mẫu hiển thị mới", + "New wage group": "Nhóm lương mới", + "New webhook": "Webhook mới", + "New work orders start here": "Các lệnh sản xuất mới bắt đầu tại đây", + "New workstation": "Trạm sản xuất mới", + "New workstation type": "Loại trạm sản xuất mới", + "Next due (ISO datetime)": "Hạn kế tiếp (ngày giờ ISO)", + "Next lot": "Lô tiếp theo", + "Next service": "Bảo dưỡng tiếp theo", + "Next: Production Line →": "Tiếp theo: Dây chuyền sản xuất →", + "Next: {{lot}}": "Tiếp theo: {{lot}}", + "No BOMs are available for the selected product type.": "Không có BOM nào khả dụng cho loại sản phẩm đã chọn.", + "No EANs.": "Không có EAN nào.", + "No QC templates.": "Không có mẫu QC nào.", + "No QC triggers defined.": "Chưa định nghĩa kích hoạt QC nào.", + "No absences": "Không có vắng mặt", + "No absences recorded yet.": "Chưa ghi nhận lượt vắng mặt nào.", + "No active alerts": "Không có cảnh báo đang hoạt động", + "No active crews.": "Không có tổ làm việc nào đang hoạt động.", + "No active workstation of the required type is available.": "Không có trạm sản xuất nào thuộc loại yêu cầu đang hoạt động.", + "No activity types loaded": "Chưa tải loại hoạt động nào", + "No additional costs": "Không có chi phí bổ sung", + "No anomalies": "Không có bất thường", + "No anomalies.": "Không có bất thường nào.", + "No attachments": "Không có tệp đính kèm", + "No attachments.": "Không có tệp đính kèm nào.", + "No break windows": "Không có khung giờ nghỉ", + "No capacity": "Không có công suất", + "No capacity data.": "Không có dữ liệu công suất.", + "No connections.": "Không có kết nối nào.", + "No contractors": "Không có nhà thầu", + "No custom fields defined.": "Chưa định nghĩa trường tùy chỉnh nào.", + "No customer revenue yet.": "Chưa có doanh thu từ khách hàng.", + "No customers yet.": "Chưa có khách hàng nào.", + "No downtime.": "Không có thời gian dừng máy.", + "No engineering documents yet.": "Chưa có tài liệu kỹ thuật nào.", + "No exact time yet — drag to schedule": "Chưa có thời gian cụ thể — kéo để lên lịch", + "No finished work orders in this period.": "Không có lệnh sản xuất nào hoàn thành trong khoảng thời gian này.", + "No imports yet": "Chưa có lượt nhập nào", + "No inspections.": "Không có lượt kiểm tra nào.", + "No issue types": "Không có loại sự cố", + "No issues": "Không có sự cố", + "No label templates.": "Không có mẫu nhãn nào.", + "No line statuses.": "Không có trạng thái dây chuyền nào.", + "No lines exist yet": "Chưa có dây chuyền nào", + "No lots.": "Không có lô nào.", + "No machines": "Không có máy nào", + "No maintenance events.": "Không có sự kiện bảo trì nào.", + "No mappings yet.": "Chưa có ánh xạ nào.", + "No mappings.": "Không có ánh xạ nào.", + "No matching orders": "Không có lệnh phù hợp", + "No matching orders.": "Không có lệnh phù hợp.", + "No messages yet.": "Chưa có tin nhắn nào.", + "No modules.": "Không có phân hệ nào.", + "No outstanding controls": "Không có mục kiểm soát nào tồn đọng", + "No pallets.": "Không có pallet nào.", + "No previous events.": "Không có sự kiện trước đó.", + "No process segments.": "Không có công đoạn quy trình nào.", + "No process templates.": "Không có mẫu quy trình nào.", + "No product revisions yet.": "Chưa có phiên bản sản phẩm nào.", + "No production anomalies.": "Không có bất thường sản xuất nào.", + "No production running": "Không có hoạt động sản xuất nào đang chạy", + "No products": "Không có sản phẩm nào", + "No records yet": "Chưa có bản ghi nào", + "No recurring crew breaks configured.": "Chưa cấu hình thời gian nghỉ định kỳ của tổ làm việc.", + "No schedule changes yet.": "Chưa có thay đổi lịch trình nào.", + "No scrap in this period.": "Không có phế phẩm trong khoảng thời gian này.", + "No scrap reasons": "Không có lý do phế phẩm", + "No shift configured": "Chưa cấu hình ca làm việc", + "No shifts": "Không có ca làm việc", + "No shifts.": "Không có ca làm việc nào.", + "No shortages — all materials covered.": "Không thiếu hụt — đã đáp ứng đủ tất cả nguyên vật liệu.", + "No sites yet — create one first": "Chưa có nhà xưởng nào — hãy tạo một nhà xưởng trước", + "No skills defined yet": "Chưa xác định kỹ năng nào", + "No steps defined yet.": "Chưa xác định bước nào.", + "No stock entries": "Không có bản ghi tồn kho nào", + "No supervisor on line yet": "Chưa có giám sát viên trên dây chuyền", + "No targets available": "Không có mục tiêu nào", + "No template": "Không có mẫu", + "No topics.": "Không có chủ đề nào.", + "No upstream sources recorded.": "Chưa ghi nhận nguồn thượng nguồn nào.", + "No view templates.": "Không có mẫu hiển thị nào.", + "No warehouses": "Không có kho nào", + "No webhook endpoints.": "Không có điểm cuối webhook nào.", + "No work orders": "Không có lệnh sản xuất nào", + "No work orders currently waiting at {{name}}": "Hiện không có lệnh sản xuất nào đang chờ tại {{name}}", + "No work orders in this cell.": "Không có lệnh sản xuất nào trong khu vực sản xuất này.", + "No work orders to pack.": "Không có lệnh sản xuất nào để đóng gói.", + "No worker absences recorded.": "Không ghi nhận sự vắng mặt của công nhân nào.", + "No worker profile": "Không có hồ sơ công nhân", + "No workers assigned.": "Chưa phân công công nhân nào.", + "No workstations": "Không có trạm sản xuất nào", + "No {{protocol}} connections.": "Không có kết nối {{protocol}} nào.", + "Not found": "Không tìm thấy", + "Not validated": "Chưa được xác thực", + "Nothing proposed.": "Không có đề xuất nào.", + "Nothing to show": "Không có gì để hiển thị", + "OEE = A × P × Q": "OEE = A × P × Q", + "OEE trend · 7 days": "Xu hướng OEE · 7 ngày", + "ON TASK": "ĐANG THỰC HIỆN NHIỆM VỤ", + "ONE SEQUENCE PER PRODUCT TYPE · DEFAULT IS THE GLOBAL FALLBACK": "MỖI LOẠI SẢN PHẨM MỘT CHUỖI · CHUỖI MẶC ĐỊNH LÀ DỰ PHÒNG TOÀN CỤC", + "OPEN ISSUES": "VẤN ĐỀ ĐANG MỞ", + "OPEN PALLETS": "PALLET ĐANG MỞ", + "OUTSTANDING": "TỒN ĐỌNG", + "Obsolete": "Đã lỗi thời", + "On": "Bật", + "On change hold": "Tạm dừng khi thay đổi", + "On shift": "Đang trong ca", + "Only \"Equals\" is supported for tier-based rules.": "Chỉ hỗ trợ \"Bằng\" cho các quy tắc dựa trên cấp độ.", + "Only draft revisions can be edited. Released revisions are immutable.": "Chỉ có thể chỉnh sửa các phiên bản nháp. Các phiên bản đã phát hành không thể thay đổi.", + "Only draft revisions can be released.": "Chỉ các phiên bản nháp mới có thể được phát hành.", + "Only released revisions can be made obsolete.": "Chỉ các phiên bản đã phát hành mới có thể chuyển sang trạng thái lỗi thời.", + "Only released revisions of the selected product type. Locked once production starts.": "Chỉ áp dụng các phiên bản đã phát hành của loại sản phẩm được chọn. Bị khóa khi bắt đầu sản xuất.", + "Open API in browser": "Mở API trong trình duyệt", + "Open NCRs": "NCR đang mở", + "Open PDF": "Mở PDF", + "Open issue": "Vấn đề đang mở", + "Open on web to edit": "Mở trên web để chỉnh sửa", + "Open station on web": "Mở trạm trên web", + "Open work order": "Mở lệnh sản xuất", + "Opens a linked downtime record, closed automatically when production resumes.": "Mở bản ghi thời gian dừng máy liên kết, tự động đóng khi sản xuất tiếp tục.", + "Operational stop": "Dừng vận hành", + "Operator (manual)": "Người vận hành (thủ công)", + "Optional JSON object passed to the action handler": "Đối tượng JSON tùy chọn được truyền đến trình xử lý hành động", + "Optional expression to gate this mapping": "Biểu thức tùy chọn để kiểm soát ánh xạ này", + "Optional note": "Ghi chú tùy chọn", + "Optional notes — what's blocking?": "Ghi chú tùy chọn — điều gì đang gây tắc nghẽn?", + "Optional short business code.": "Mã nghiệp vụ ngắn (tùy chọn).", + "Order no.": "Số đơn hàng", + "Other entities": "Các đối tượng khác", + "Outgoing endpoints that POST on subscribed events.": "Các điểm cuối gửi dữ liệu (POST) khi có sự kiện đã đăng ký.", + "Output pallets": "Pallet thành phẩm", + "Outstanding controls": "Các kiểm soát còn tồn đọng", + "Over 100%": "Vượt 100%", + "Overloaded": "Quá tải", + "PARAM": "THAM SỐ", + "PICK A SUPERVISOR": "CHỌN NGUỜI GIÁM SÁT", + "PIN login is not enabled.": "Đăng nhập bằng mã PIN chưa được bật.", + "PLN": "PLN", + "PREPEND CURRENT YEAR (E.G. 2026LOT0001)": "THÊM NĂM HIỆN TẠI VÀO ĐẦU (VÍ DỤ: 2026LOT0001)", + "PRODUCED": "ĐÃ SẢN XUẤT", + "Pack & Ship": "Đóng gói & Giao hàng", + "Pack {{units}} units of {{each}} each = {{pieces}} pieces": "Đóng gói {{units}} đơn vị, mỗi đơn vị {{each}} = {{pieces}} chi tiết", + "Packaging EANs": "Mã EAN đóng gói", + "Pad size": "Kích thước đệm", + "Pakowanie": "Đóng gói", + "Pallet destination updated.": "Đã cập nhật điểm đến của pallet.", + "Pallet movement recorded.": "Đã ghi nhận di chuyển pallet.", + "Parameter": "Tham số", + "Pareto · CAPA": "Pareto · CAPA", + "Pass / fail": "Đạt / Không đạt", + "Password changed successfully.": "Đổi mật khẩu thành công.", + "Password must be at least 8 characters.": "Mật khẩu phải có ít nhất 8 ký tự.", + "Passwords do not match.": "Mật khẩu không khớp.", + "Payment": "Thanh toán", + "Payment score (0–100)": "Điểm thanh toán (0–100)", + "Pending resolution": "Chờ giải quyết", + "Perf": "Hiệu suất", + "Personal account": "Tài khoản cá nhân", + "Pick a backlog order for this slot": "Chọn một đơn hàng tồn cho vị trí này", + "Pick a crew": "Chọn tổ làm việc", + "Pick a kind, then a specific reason": "Chọn phân loại, sau đó chọn lý do cụ thể", + "Pick a lot to explore.": "Chọn một lô để xem chi tiết.", + "Pick a wage group": "Chọn nhóm lương", + "Pick exactly which modules to enable.": "Chọn chính xác các phân hệ muốn bật.", + "Pick lot": "Chọn lô", + "Plan name": "Tên kế hoạch", + "Plan not found": "Không tìm thấy kế hoạch", + "Planned / Actual": "Kế hoạch / Thực tế", + "Planned end (ISO)": "Thời gian kết thúc dự kiến (ISO)", + "Planned start (ISO)": "Thời gian bắt đầu dự kiến (ISO)", + "Please enter an authentication code or recovery code.": "Vui lòng nhập mã xác thực hoặc mã khôi phục.", + "Preferences": "Tùy chọn", + "Preferred time (HH:mm)": "Thời gian ưu tiên (HH:mm)", + "Price per produced unit. Adds to the customer's revenue when the order completes.": "Đơn giá trên mỗi đơn vị sản xuất. Cộng vào doanh thu của khách hàng khi đơn hàng hoàn thành.", + "Priority bands updated successfully.": "Đã cập nhật các mức ưu tiên thành công.", + "Priority rule :status successfully.": "Quy tắc ưu tiên đã được :status thành công.", + "Priority rule created successfully.": "Đã tạo quy tắc ưu tiên thành công.", + "Priority rule deleted successfully.": "Đã xóa quy tắc ưu tiên thành công.", + "Priority rule updated successfully.": "Đã cập nhật quy tắc ưu tiên thành công.", + "Process Template (released config)": "Mẫu quy trình (cấu hình đã ban hành)", + "Process segments and product revisions.": "Các công đoạn quy trình và phiên bản sản phẩm.", + "Process template": "Mẫu quy trình", + "Process · all steps": "Quy trình · tất cả các bước", + "Produced quantity (optional)": "Số lượng đã sản xuất (tùy chọn)", + "Product Revision": "Phiên bản sản phẩm", + "Product Revisions": "Các phiên bản sản phẩm", + "Product Type Code": "Mã loại sản phẩm", + "Product engineering": "Kỹ thuật sản phẩm", + "Product revision": "Phiên bản sản phẩm", + "Product revision :code created.": "Đã tạo phiên bản sản phẩm :code.", + "Product revision :code deleted.": "Đã xóa phiên bản sản phẩm :code.", + "Product revision :code marked obsolete.": "Đã đánh dấu phiên bản sản phẩm :code là lỗi thời.", + "Product revision :code released.": "Đã ban hành phiên bản sản phẩm :code.", + "Product revision :code updated.": "Đã cập nhật phiên bản sản phẩm :code.", + "Product type": "Loại sản phẩm", + "Product type cannot be changed after creation.": "Không thể thay đổi loại sản phẩm sau khi đã tạo.", + "Production blocked": "Sản xuất bị tạm dừng", + "Production cannot resume until an approved change request has been applied.": "Sản xuất không thể tiếp tục cho đến khi yêu cầu thay đổi đã duyệt được áp dụng.", + "Production controls": "Kiểm soát sản xuất", + "Production cost, scrap, non-conformance and net-requirements reports.": "Báo cáo chi phí sản xuất, phế phẩm, sự không phù hợp và nhu cầu ròng.", + "Production notes": "Ghi chú sản xuất", + "Production policies": "Chính sách sản xuất", + "Production qty (optional)": "Số lượng sản xuất (tùy chọn)", + "Production steps": "Các bước sản xuất", + "Production stops": "Lần dừng sản xuất", + "Products are syncing in the background.": "Sản phẩm đang được đồng bộ trong nền.", + "Profile name": "Tên cấu hình", + "Proposed change": "Thay đổi đề xuất", + "Protocol": "Giao thức", + "Puts the order on change hold. Production cannot resume until an approved change request has been applied.": "Tạm dừng lệnh do thay đổi. Sản xuất không thể tiếp tục cho đến khi yêu cầu thay đổi được phê duyệt và áp dụng.", + "QC Templates": "Mẫu QC", + "QC Triggers": "Điều kiện kích hoạt QC", + "QC template": "Mẫu QC", + "QC template not found": "Không tìm thấy mẫu QC", + "QC templates": "Mẫu QC", + "Qty per unit": "Số lượng/đơn vị", + "Qual": "Chất lượng", + "Quality Tasks": "Nhiệm vụ kiểm tra chất lượng", + "Quality check requirements per batch": "Yêu cầu kiểm tra chất lượng theo mỗi lô sản xuất", + "Quality control": "Kiểm soát chất lượng", + "Quality hold": "Tạm dừng do chất lượng", + "Quality tasks": "Nhiệm vụ kiểm tra chất lượng", + "Quantities below available are deducted from quantity_available": "Số lượng nhỏ hơn số lượng khả dụng sẽ được trừ vào quantity_available", + "Quantity (Planned)": "Số lượng (Kế hoạch)", + "Quantity affected": "Số lượng bị ảnh hưởng", + "Quantity to return": "Số lượng trả lại", + "RECEIVED": "ĐÃ NHẬN", + "REMOVE": "XÓA", + "REQUIRED": "BẮT BUỘC", + "REST API to import work orders from an ERP (SAP, Comarch, enova365, Dynamics) and export production and quality data back, secured by API keys.": "REST API để nhập lệnh sản xuất từ hệ thống ERP (SAP, Comarch, enova365, Dynamics) và xuất ngược dữ liệu sản xuất và chất lượng, được bảo mật bằng khóa API.", + "Raised from stop": "Phát sinh từ việc dừng sản xuất", + "Read production completions": "Đọc dữ liệu hoàn thành sản xuất", + "Read quality & issue reports": "Đọc báo cáo chất lượng & sự cố", + "Read-confirmation": "Xác nhận đã đọc", + "Read-only on mobile. Edit products & sync rules from web admin.": "Chỉ đọc trên thiết bị di động. Chỉnh sửa sản phẩm & quy tắc đồng bộ từ trang quản trị web.", + "Ready for production": "Sẵn sàng sản xuất", + "Recalculated material requirements for the remaining quantity": "Đã tính lại nhu cầu vật tư cho số lượng còn lại", + "Recent lots": "Các lô gần đây", + "Reclassify": "Phân loại lại", + "Reclassify material": "Phân loại lại vật tư", + "Record QC": "Ghi nhận QC", + "Record absence": "Ghi nhận vắng mặt", + "Record consumption": "Ghi nhận tiêu hao vật tư", + "Record cost": "Ghi nhận chi phí", + "Record what was actually consumed, return leftovers to stock, or reclassify material.": "Ghi nhận lượng vật tư thực tế đã tiêu hao, trả lại vật tư thừa vào kho, hoặc phân loại lại vật tư.", + "Record why production stopped, and whether a configuration change is needed.": "Ghi nhận lý do dừng sản xuất và liệu có cần thay đổi cấu hình hay không.", + "Recorded against :order with the state it is in right now.": "Đã ghi nhận cho :order với trạng thái hiện tại của nó.", + "Recovery codes regenerated.": "Đã tạo lại mã khôi phục.", + "Recurring PMs": "Bảo trì phòng ngừa định kỳ", + "Recurring breaks": "Giờ nghỉ định kỳ", + "Reject change request": "Từ chối yêu cầu thay đổi", + "Related": "Liên quan", + "Release for production": "Phát hành cho sản xuất", + "Release for sale": "Phát hành để bán", + "Release revision \":code\"? It becomes immutable and selectable for production.": "Phát hành phiên bản \":code\"? Phiên bản này sẽ không thể sửa đổi và có thể chọn để sản xuất.", + "Remove \"{{ean}}\"?": "Xóa \"{{ean}}\"?", + "Remove \"{{name}}\"?": "Xóa \"{{name}}\"?", + "Remove from this line": "Xóa khỏi dây chuyền này", + "Rename": "Đổi tên", + "Rename server": "Đổi tên máy chủ", + "Replace": "Thay thế", + "Replace exact time plan?": "Thay thế kế hoạch thời gian chính xác?", + "Report downtime to track availability": "Báo cáo thời gian dừng máy để theo dõi tỷ lệ khả dụng", + "Report problem": "Báo cáo sự cố", + "Reported issue": "Sự cố đã báo cáo", + "Request change": "Yêu cầu thay đổi", + "Requested": "Đã yêu cầu", + "Require operator to confirm they read the instructions": "Yêu cầu người vận hành xác nhận đã đọc hướng dẫn", + "Required Equipment Class; a specific machine is assigned at dispatch.": "Loại thiết bị yêu cầu; máy cụ thể sẽ được gán khi điều độ.", + "Required fields not mapped": "Chưa ánh xạ các trường bắt buộc", + "Reschedule anyway": "Vẫn lập lại lịch", + "Reset password": "Đặt lại mật khẩu", + "Restore \"{{label}}\"? Related records deleted with it are restored too.": "Khôi phục \"{{label}}\"? Các bản ghi liên quan đã bị xóa cùng với nó cũng sẽ được khôi phục.", + "Resumed": "Đã tiếp tục", + "Retry failed job": "Thử lại tác vụ thất bại", + "Return": "Trả lại", + "Return to stock": "Trả lại kho", + "Returnable: :qty": "Có thể trả: :qty", + "Returned": "Đã trả lại", + "Rev": "Phiên bản", + "Revenue": "Doanh thu", + "Revision": "Phiên bản", + "Revision Code": "Mã phiên bản", + "Run": "Chạy", + "Run Import": "Thực hiện nhập dữ liệu", + "Run batch": "Chạy lô sản xuất", + "Run report": "Xuất báo cáo", + "Run this mapping on matching messages": "Áp dụng ánh xạ này cho các tin nhắn phù hợp", + "Run time per unit (minutes)": "Thời gian chạy mỗi đơn vị (phút)", + "SERVER": "MÁY CHỦ", + "SHOW INACTIVE": "HIỆN KHÔNG HOẠT ĐỘNG", + "SUBLOTS": "LÔ CON", + "Same shape used for Anomaly reason · Cost source · Company · Subassembly · LOT sequence — code, name, optional fields, active toggle.": "Cùng định dạng được dùng cho Lý do bất thường · Nguồn chi phí · Công ty · Bán thành phẩm · Chuỗi mã LÔ — mã, tên, các trường tùy chọn, chuyển đổi trạng thái hoạt động.", + "Samples": "Mẫu kiểm tra", + "Samples per check (optional)": "Số mẫu mỗi lần kiểm tra (tùy chọn)", + "Save mapping profile": "Lưu cấu hình ánh xạ", + "Save schedule": "Lưu lịch trình", + "Scan barcode": "Quét mã vạch", + "Schedule Capacity": "Năng lực theo lịch trình", + "Schedule anyway": "Vẫn lên lịch trình", + "Schedule maintenance": "Lên lịch bảo trì", + "Schedule not found": "Không tìm thấy lịch trình", + "Scheduled at": "Đã lên lịch vào", + "Scheduled at (ISO)": "Đã lên lịch vào (ISO)", + "Schedules": "Lịch trình", + "Scheduling conflict": "Xung đột lịch trình", + "Scope target": "Đối tượng phạm vi", + "Score": "Điểm số", + "Scrap dispo.": "Xử lý phế phẩm", + "Scrap reasons": "Lý do phế phẩm", + "Search activity…": "Tìm kiếm hoạt động…", + "Search anomalies…": "Tìm kiếm bất thường…", + "Search audit logs…": "Tìm kiếm nhật ký kiểm toán…", + "Search backlog": "Tìm kiếm tồn đọng", + "Search backlog…": "Tìm kiếm tồn đọng…", + "Search by lot or material": "Tìm theo lô hoặc vật tư", + "Search by name, email, username": "Tìm theo tên, email, tên người dùng", + "Search connections…": "Tìm kiếm kết nối…", + "Search inspections…": "Tìm kiếm lượt kiểm tra…", + "Search issues...": "Tìm kiếm sự cố...", + "Search lots…": "Tìm kiếm lô…", + "Search message or stack trace": "Tìm tin nhắn hoặc vết ngăn xếp", + "Search name or code": "Tìm theo tên hoặc mã", + "Search order or product": "Tìm đơn hàng hoặc sản phẩm", + "Search topics": "Tìm chủ đề", + "Search work orders": "Tìm kiếm lệnh sản xuất", + "Segment not found": "Không tìm thấy phân đoạn", + "Select": "Chọn", + "Select Line": "Chọn dây chuyền", + "Select a material": "Chọn một nguyên vật liệu", + "Select a movable (not shipped) pallet.": "Chọn một pallet có thể di chuyển (chưa xuất hàng).", + "Select a process template before releasing the revision.": "Chọn một quy trình mẫu trước khi phát hành phiên bản.", + "Select a product type first.": "Vui lòng chọn loại sản phẩm trước.", + "Select a scope target": "Chọn một đối tượng phạm vi", + "Select an active logistics operator.": "Chọn một nhân viên vận hành logistics đang hoạt động.", + "Select an activity": "Chọn một hoạt động", + "Select at least one event": "Chọn ít nhất một sự kiện", + "Select connection": "Chọn kết nối", + "Select crew": "Chọn tổ làm việc", + "Select entity": "Chọn thực thể", + "Select material": "Chọn nguyên vật liệu", + "Select material type": "Chọn loại nguyên vật liệu", + "Select one or more BOMs. Requirements sum across the selected BOMs. Leave empty to auto-use the active BOM for the product type.": "Chọn một hoặc nhiều BOM. Định mức nguyên vật liệu sẽ được tổng hợp trên các BOM đã chọn. Để trống để tự động sử dụng BOM đang hoạt động cho loại sản phẩm.", + "Select site": "Chọn nhà máy", + "Select topic": "Chọn chủ đề", + "Select type": "Chọn loại", + "Select worker": "Chọn công nhân", + "Selected lot": "Lô đã chọn", + "Send HTTP notifications to external systems on work-order, issue and batch events.": "Gửi thông báo HTTP đến các hệ thống bên ngoài khi phát sinh sự kiện lệnh sản xuất, sự cố và lô sản xuất.", + "Send setup email": "Gửi email thiết lập", + "Send to backlog": "Đưa vào danh sách tồn đọng", + "Server": "Máy chủ", + "Server URL": "URL máy chủ", + "Server will generate a temp password and force change on first login.": "Máy chủ sẽ tạo mật khẩu tạm thời và yêu cầu đổi mật khẩu ở lần đăng nhập đầu tiên.", + "Sets a new password and revokes all active sessions": "Đặt mật khẩu mới và thu hồi tất cả các phiên đang hoạt động", + "Setup + run cannot exceed the elapsed time.": "Thời gian thiết lập + thời gian chạy không được vượt quá thời gian đã trôi qua.", + "Setup session expired. Please start again.": "Phiên thiết lập đã hết hạn. Vui lòng bắt đầu lại.", + "Setup time (minutes)": "Thời gian thiết lập (phút)", + "Sh": "Ca", + "Shift closed": "Đã đóng ca", + "Shift handover": "Bàn giao ca", + "Show in operator dropdowns and crew rosters": "Hiển thị trong danh sách người vận hành và danh sách tổ làm việc", + "Show inactive": "Hiện không hoạt động", + "Sign out {{name}}?": "Đăng xuất {{name}}?", + "Silent": "Im lặng", + "Silver": "Bạc", + "Sites group areas, which group lines (ISA-95)": "Địa điểm nhóm các khu vực, các khu vực nhóm các dây chuyền (ISA-95)", + "Skip \"{{name}}\"?": "Bỏ qua \"{{name}}\"?", + "Skip control?": "Bỏ qua kiểm soát?", + "Skip existing rows": "Bỏ qua các dòng đã tồn tại", + "Skipped": "Đã bỏ qua", + "Snap": "Bắt điểm", + "Snapshot saved.": "Đã lưu ảnh chụp trạng thái.", + "Source IP not allowed for this API key.": "IP nguồn không được phép sử dụng khóa API này.", + "Span": "Khoảng", + "Spans another day — edit it from that day": "Kéo dài sang ngày khác — hãy chỉnh sửa từ ngày đó", + "Standard work order": "Lệnh sản xuất tiêu chuẩn", + "Start a fresh session on each connect": "Bắt đầu một phiên làm việc mới mỗi khi kết nối", + "Start batch": "Bắt đầu lô sản xuất", + "Start downtime timer": "Bắt đầu đếm giờ dừng máy", + "Start listening on daemon start": "Bắt đầu lắng nghe khi tiến trình nền (daemon) khởi động", + "Starts": "Bắt đầu", + "Step 1 — Modules": "Bước 1 — Các mô-đun", + "Steps still ahead": "Các bước phía trước", + "Stop": "Dừng", + "Stop production": "Dừng sản xuất", + "Stop type": "Loại dừng máy", + "Subassembly": "Cụm lắp ráp phụ", + "Subiekt GT": "Subiekt GT", + "Subiekt nexo is not enabled": "Subiekt nexo chưa được bật", + "Sublot ID (optional)": "Mã lô phụ (không bắt buộc)", + "Submit": "Gửi", + "Submit & escalate": "Gửi & chuyển cấp xử lý", + "Submit checklist": "Gửi danh mục kiểm tra", + "Submit for review": "Gửi để xem xét", + "Submitted": "Đã gửi", + "Suffix (optional)": "Hậu tố (không bắt buộc)", + "Surface finish": "Độ bóng bề mặt", + "Swipe a row for actions": "Vuốt một dòng để xem thao tác", + "Switch": "Chuyển đổi", + "System logs": "Nhật ký hệ thống", + "System name": "Tên hệ thống", + "System type": "Loại hệ thống", + "TEMP_PASSWORD": "MẬT_KHẨU_TẠM", + "THROUGHPUT": "THÔNG LƯỢNG", + "Tap Add to record one.": "Nhấn Thêm để ghi nhận một mục.", + "Tap to assign a crew": "Nhấn để phân công tổ làm việc", + "Tap to change": "Nhấn để thay đổi", + "Target class (material)": "Phân loại mục tiêu (vật tư)", + "Target kind": "Loại mục tiêu", + "Target qty": "Số lượng mục tiêu", + "Team": "Đội ngũ", + "Technical documents being replaced": "Các tài liệu kỹ thuật đang được thay thế", + "Template is available for printing": "Mẫu đã sẵn sàng để in", + "Temporary password": "Mật khẩu tạm thời", + "Tenant": "Đơn vị thuê", + "Tensile strength": "Độ bền kéo", + "That item was already removed.": "Mục đó đã bị xóa trước đó.", + "That template already consumes :material, so it cannot also produce it.": "Mẫu đó đã tiêu hao :material, do đó không thể đồng thời sản xuất vật tư này.", + "The Andon issue-type catalog is empty.": "Danh mục loại sự cố Andon đang trống.", + "The action could not be completed.": "Không thể hoàn thành thao tác.", + "The activity will be removed from this day plan.": "Hoạt động sẽ bị xóa khỏi kế hoạch ngày này.", + "The change is reviewed and approved before it touches :order. Nothing already produced is rewritten.": "Thay đổi được xem xét và phê duyệt trước khi áp dụng cho :order. Không có nội dung nào đã sản xuất bị ghi đè.", + "The current password is incorrect.": "Mật khẩu hiện tại không đúng.", + "The document could not be deleted.": "Không thể xóa tài liệu.", + "The interactive viewer could not be opened.": "Không thể mở trình xem tương tác.", + "The order will be removed from the schedule and returned to the backlog.": "Lệnh sẽ bị xóa khỏi lịch trình và đưa trở lại danh sách chờ xử lý.", + "The page you're looking for has been moved, removed, or never existed.": "Trang bạn tìm kiếm đã bị di chuyển, bị xóa hoặc không tồn tại.", + "The process + BOM this revision releases. Required before the revision can be released.": "Quy trình + BOM mà phiên bản này phát hành. Bắt buộc có trước khi phiên bản có thể phát hành.", + "The proposed quantity is below the quantity already produced (:produced).": "Số lượng đề xuất thấp hơn số lượng đã sản xuất (:produced).", + "The provided credentials are incorrect.": "Thông tin đăng nhập được cung cấp không chính xác.", + "The scrap-reason dictionary is empty.": "Từ điển lý do phế phẩm đang trống.", + "The selected owner does not exist.": "Người phụ trách được chọn không tồn tại.", + "The upper bound must be greater than the lower bound.": "Giới hạn trên phải lớn hơn giới hạn dưới.", + "The user must change their password on next login.": "Người dùng phải thay đổi mật khẩu trong lần đăng nhập tiếp theo.", + "The value must be a number.": "Giá trị phải là một số.", + "The value must be a valid tier: :tiers.": "Giá trị phải là một cấp hợp lệ: :tiers.", + "The workstation could not be assigned.": "Không thể phân công trạm sản xuất.", + "Theme": "Giao diện", + "This API key is not authorized for :scope.": "Khóa API này không được cấp quyền cho :scope.", + "This finished lot has not been packed onto a pallet yet.": "Lô thành phẩm này chưa được đóng vào pallet.", + "This is a finished-goods lot - it was not consumed further.": "Đây là lô thành phẩm - không được tiêu hao thêm.", + "This order has an exact time plan — replace it with a day/shift placement?": "Lệnh này có kế hoạch thời gian chính xác — bạn có muốn thay thế bằng việc xếp theo ngày/ca?", + "This screen doesn't exist.": "Màn hình này không tồn tại.", + "This screen has not been built yet. The underlying endpoint is available — wire up the UI when ready.": "Màn hình này chưa được xây dựng. Endpoint bên dưới đã sẵn sàng — hãy kết nối giao diện khi sẵn sàng.", + "This shift": "Ca này", + "This slot overlaps another active order on the same line. Schedule it anyway, or pick a different slot.": "Khoảng thời gian này trùng với một lệnh đang hoạt động khác trên cùng dây chuyền. Vẫn lên lịch hoặc chọn một khoảng thời gian khác.", + "This snapshots the current balance and saves a handover record.": "Thao tác này sẽ lưu ảnh chụp số dư hiện tại và tạo bản ghi bàn giao.", + "This step does not belong to the selected line.": "Bước này không thuộc về dây chuyền đã chọn.", + "This step does not require read-confirmation.": "Bước này không yêu cầu xác nhận đã đọc.", + "This step is blocked: a mandatory document must be validated before you can complete it.": "Bước này bị khóa: một tài liệu bắt buộc phải được xác nhận trước khi bạn có thể hoàn tất.", + "This step is blocked: the mandatory document(s) \":docs\" must be validated before it can be completed.": "Bước này bị khóa: (các) tài liệu bắt buộc \":docs\" phải được xác nhận trước khi có thể hoàn tất.", + "This step is blocked: the required checklist item(s) \":items\" must be completed before it can be completed.": "Bước này bị khóa: (các) mục danh mục kiểm tra bắt buộc \":items\" phải được hoàn tất trước khi có thể hoàn tất.", + "This step is blocked: you must confirm you have read the critical instructions before it can be completed.": "Bước này bị khóa: bạn phải xác nhận đã đọc các hướng dẫn quan trọng trước khi có thể hoàn tất.", + "This step is blocked: you must confirm you have read the critical instructions before you can complete it.": "Bước này bị khóa: bạn phải xác nhận đã đọc các hướng dẫn quan trọng trước khi bạn có thể hoàn tất.", + "This username is already taken.": "Tên người dùng này đã được sử dụng.", + "This writes a new configuration version. Earlier versions and everything already produced stay exactly as recorded.": "Thao tác này sẽ tạo một phiên bản cấu hình mới. Các phiên bản trước đó và tất cả sản phẩm đã sản xuất vẫn giữ nguyên như đã ghi nhận.", + "Throughput (30 days)": "Sản lượng (30 ngày)", + "Tick at least one field to change.": "Đánh dấu vào ít nhất một trường để thay đổi.", + "Tier": "Cấp", + "Time-planned — edit in planner": "Đã lên kế hoạch theo thời gian — chỉnh sửa trong bộ lập kế hoạch", + "Too many attempts. Please wait :seconds seconds.": "Quá nhiều lần thử. Vui lòng chờ :seconds giây.", + "Too many registration attempts. Please try again later.": "Quá nhiều lần thử đăng ký. Vui lòng thử lại sau.", + "Top Customers": "Khách hàng hàng đầu", + "Topic": "Chủ đề", + "Total additional costs": "Tổng chi phí bổ sung", + "Total produced": "Tổng đã sản xuất", + "Total revenue": "Tổng doanh thu", + "Track live order": "Theo dõi đơn hàng thời gian thực", + "Trigger is enabled": "Bộ kích hoạt đang bật", + "Try a different filter or pull to refresh.": "Thử bộ lọc khác hoặc vuốt để làm mới.", + "Try a different search.": "Thử tìm kiếm khác.", + "Turn on only the feature areas your team needs. Core areas (Dashboard, Orders, Production, Admin) are always on. You can change this anytime in Settings → System → Modules.": "Chỉ bật các khu vực tính năng mà nhóm của bạn cần. Các khu vực cốt lõi (Bảng điều khiển, Đơn hàng, Sản xuất, Quản trị) luôn được bật. Bạn có thể thay đổi điều này bất kỳ lúc nào trong Cài đặt → Hệ thống → Phân hệ.", + "Two-factor authentication enabled.": "Đã bật xác thực hai yếu tố.", + "Two-factor authentication has been disabled.": "Đã tắt xác thực hai yếu tố.", + "Type (optional)": "Loại (tùy chọn)", + "UP TO DATE": "ĐÃ CẬP NHẬT", + "USER MUST CHANGE PASSWORD ON NEXT LOGIN": "NGƯỜI DÙNG PHẢI ĐỔI MẬT KHẨU TRONG LẦN ĐĂNG NHẬP TIẾP THEO", + "USERNAME": "TÊN NGƯỜI DÙNG", + "Unassigned": "Chưa phân công", + "Under 80%": "Dưới 80%", + "Undo": "Hoàn tác", + "Undone": "Đã hoàn tác", + "Unified feed": "Nguồn tin hợp nhất", + "Unique within the parent site": "Duy nhất trong địa điểm cha", + "Unit (optional)": "Đơn vị (tùy chọn)", + "Unit Price": "Đơn giá", + "Unit cost": "Chi phí đơn vị", + "Unit of measure": "Đơn vị tính", + "Unit of measure (optional)": "Đơn vị tính (tùy chọn)", + "Unknown error": "Lỗi không xác định", + "Unresolved issue": "Vấn đề chưa giải quyết", + "Unschedule": "Hủy lịch", + "Up to date": "Đã cập nhật", + "Update": "Cập nhật", + "Update available": "Có bản cập nhật mới", + "Update check": "Kiểm tra bản cập nhật", + "Update password": "Cập nhật mật khẩu", + "Updates are applied on the server via the download-based updater; this panel is read-only.": "Các bản cập nhật được áp dụng trên máy chủ thông qua bộ cập nhật tải xuống; bảng này chỉ hỗ trợ đọc.", + "Upload failed. Please try again.": "Tải lên thất bại. Vui lòng thử lại.", + "Upload file": "Tải lên tập tin", + "Uploaded": "Đã tải lên", + "Uploading…": "Đang tải lên…", + "Used in BOMs": "Được sử dụng trong định mức BOM", + "Username may only contain letters and numbers.": "Tên người dùng chỉ được chứa chữ cái và chữ số.", + "VIP": "VIP", + "Vacation · sick": "Nghỉ phép · nghỉ ốm", + "Validate": "Xác nhận", + "Validate the mandatory document(s) before completing this step.": "Xác nhận (các) tài liệu bắt buộc trước khi hoàn tất bước này.", + "Validated": "Đã xác nhận", + "Values": "Giá trị", + "Versioned recipes and step lists": "Công thức và danh sách bước có quản lý phiên bản", + "WAGE_GROUP": "NHÓM_LƯƠNG", + "WIDGET-A": "WIDGET-A", + "WO-2026-001": "WO-2026-001", + "WO-2026-007 ACTIONS": "THAO TÁC WO-2026-007", + "WO-XXX-NNN": "WO-XXX-NNN", + "WOs": "Các lệnh sản xuất", + "What should change": "Nội dung cần thay đổi", + "What went wrong?": "Đã xảy ra lỗi gì?", + "When enabled, creating a pallet declares the BOM consumption for the produced quantity and deducts it from stock at that milestone, instead of continuously.": "Khi bật, việc tạo pallet sẽ khai báo mức tiêu hao định mức BOM cho số lượng sản xuất và trừ kho tự động tại mốc đó, thay vì trừ liên tục.", + "When on, the operator must acknowledge the instructions before this step can be completed.": "Khi bật, công nhân vận hành phải xác nhận các hướng dẫn trước khi có thể hoàn tất bước này.", + "Where produced quantity comes from. Machine-counted orders are driven by machine counter signals and block manual operator entry.": "Nguồn ghi nhận số lượng sản xuất. Các lệnh đếm bằng máy được điều khiển bởi tín hiệu bộ đếm của máy và chặn nhập thủ công từ công nhân.", + "Why is the line stopped?": "Tại sao dây chuyền dừng máy?", + "Widget Type A": "Loại Widget A", + "Will sync": "Sẽ đồng bộ", + "Withdraw": "Rút lại", + "Withdraw this change request?": "Rút lại yêu cầu thay đổi này?", + "Work order field": "Trường lệnh sản xuất", + "Work order no longer exists.": "Lệnh sản xuất không còn tồn tại.", + "Work orders with no duration estimate": "Các lệnh sản xuất không có thời gian ước tính", + "Work-order history report.": "Báo cáo lịch sử lệnh sản xuất.", + "Worker #{{id}}": "Công nhân #{{id}}", + "Workers must hold every selected skill": "Công nhân phải đáp ứng tất cả các kỹ năng đã chọn", + "Workers, crews, skills, wage groups, absences and employee scheduling.": "Công nhân, tổ làm việc, kỹ năng, nhóm lương, nghỉ phép và lập lịch nhân viên.", + "Workstation (optional)": "Trạm sản xuất (tùy chọn)", + "Workstation device removed.": "Đã xóa thiết bị trạm sản xuất.", + "Workstation kiosk": "Kiosk trạm sản xuất", + "Workstation type (ISA-95)": "Loại trạm sản xuất (ISA-95)", + "Wójcik": "Wójcik", + "YOUR STATION": "TRẠM CỦA BẠN", + "YYYY-MM-DD": "YYYY-MM-DD", + "Year prefix": "Tiền tố năm", + "You cannot delete your own account.": "Bạn không thể xóa tài khoản của chính mình.", + "You have been logged out successfully.": "Bạn đã đăng xuất thành công.", + "action queued": "hành động đang chờ xử lý", + "actions queued": "các hành động đang chờ xử lý", + "activities": "hoạt động", + "admin": "quản trị viên", + "allocated": "đã phân bổ", + "categories": "danh mục", + "change required": "yêu cầu thay đổi", + "consumed": "đã tiêu hao", + "cycle calc": "tính toán chu kỳ", + "draft": "bản nháp", + "drag a block up or down to move it to another line": "kéo khối lên hoặc xuống để chuyển sang dây chuyền khác", + "drag an edge onto another line to continue the order there": "kéo một cạnh sang dây chuyền khác để tiếp tục lệnh ở đó", + "e.g. 2 with frequency Weekly = every 2 weeks": "vd: 2 với tần suất Hàng tuần = mỗi 2 tuần", + "e.g. A": "vd: A", + "e.g. Energy overage, emergency materials, etc.": "vd: Vượt định mức năng lượng, vật tư khẩn cấp, v.v.", + "e.g. Factory A, Staging": "vd: Nhà máy A, Khu vực tập kết", + "e.g. Final inspection": "vd: Kiểm tra cuối cùng", + "e.g. LOT": "vd: LÔ", + "e.g. Morning, Night": "vd: Ca sáng, Ca đêm", + "e.g. Welding, Assembly": "vd: Hàn, Lắp ráp", + "e.g. customer_ref": "vd: customer_ref", + "e.g. default, EU-PROD": "vd: mặc định, EU-PROD", + "e.g. kWh, hour": "vd: kWh, giờ", + "e.g. mm, °C": "vd: mm, °C", + "e.g. quality, process": "vd: chất lượng, quy trình", + "eDrawings": "eDrawings", + "entries": "bản ghi", + "entry": "bản ghi", + "event(s) generated": "sự kiện đã tạo", + "events": "sự kiện", + "finished": "hoàn thành", + "fixed, per run": "cố định, theo lượt chạy", + "good": "đạt", + "in inventory": "trong kho", + "kg": "kg", + "lines": "dây chuyền", + "live": "trực tiếp", + "maintenance": "bảo trì", + "more in this slot — see the Daily view": "thêm trong ô này — xem giao diện Theo ngày", + "name, code, email": "tên, mã, email", + "no server selected": "chưa chọn máy chủ", + "of": "trong số", + "on": "bật", + "on hand": "tồn kho hiện có", + "open pallets": "pallet đang mở", + "orders scheduled": "lệnh đã lập lịch", + "orders today": "lệnh hôm nay", + "overlap": "chồng chéo", + "pcs, kg, m": "cái, kg, m", + "processed": "đã xử lý", + "produced :qty at stop": "đã sản xuất :qty khi dừng", + "read-only": "chỉ đọc", + "req": "yêu cầu", + "required type": "loại bắt buộc", + "returned": "đã trả lại", + "score": "điểm số", + "stations": "trạm sản xuất", + "subiekt": "subiekt", + "this control": "bộ điều khiển này", + "types": "loại", + "unpacked": "chưa đóng gói", + "unscheduled in backlog": "chưa lên lịch trong hàng chờ", + "version :v": "phiên bản :v", + "versioned recipes": "công thức có phiên bản", + "work patterns": "mô hình làm việc", + "{\n \"key\": \"value\"\n}": "{\n \"key\": \"value\"\n}", + "{\\n \"key\": \"value\"\\n}": "{\\n \"key\": \"value\"\\n}", + "{{count}} rules": "{{count}} quy tắc", + "{{name}} disconnected": "{{name}} đã ngắt kết nối", + "{{protocol}} Connections": "Kết nối {{protocol}}", + "× quantity": "× số lượng", + "— Any / none —": "— Bất kỳ / Không —", + "— Ignore —": "— Bỏ qua —", + "— select reason —": "— chọn lý do —", + "⇄ marks an order running on two lines": "⇄ đánh dấu lệnh sản xuất đang chạy trên hai dây chuyền" } diff --git a/mobile/lang/vi.json b/mobile/lang/vi.json index 807a6423f..810eb8283 100644 --- a/mobile/lang/vi.json +++ b/mobile/lang/vi.json @@ -149,7 +149,7 @@ "Are you sure you want to delete this user?": "Bạn có chắc chắn muốn xóa người dùng này?", "Are you sure you want to delete this workstation?": "Bạn có chắc chắn muốn xóa trạm làm việc này không?", "areas": "khu vực", - "Areas now live between Sites and Lines (ISA-95 compliance). Existing lines migrated to a default area per site.": "Các khu vực hiện nằm giữa Cơ sở và Dây chuyền (tuân thủ ISA-95). Các dây chuyền hiện tại đã được chuyển đến một khu vực mặc định cho mỗi cơ sở.", + "Areas now live between Sites and Lines (ISA-95 compliance). Existing lines migrated to a default area per site.": "Các khu vực hiện nằm giữa các địa điểm và Dây chuyền (tuân thủ ISA-95). Các dây chuyền hiện tại đã được chuyển đến một khu vực mặc định cho mỗi địa điểm.", "Ask an admin to assign you to a production line.": "Yêu cầu quản trị viên chỉ định bạn vào một dây chuyền sản xuất.", "Assign": "Chỉ định", "Assign all rows to Production Line (optional)": "Chỉ định tất cả các dòng cho Dây chuyền sản xuất (tùy chọn)", @@ -377,7 +377,7 @@ "Count": "Đếm", "Create & Update": "Tạo & Cập nhật", "Create a division within a factory": "Tạo một bộ phận trong nhà máy", - "Create a factory or production site": "Tạo nhà máy hoặc cơ sở sản xuất", + "Create a factory or production site": "Tạo nhà máy hoặc địa điểm sản xuất", "Create a production crew": "Tạo tổ sản xuất", "Create a Production Line": "Tạo dây chuyền sản xuất", "Create a template to define how this product is manufactured.": "Tạo một mẫu để xác định cách sản xuất sản phẩm này.", @@ -1125,7 +1125,7 @@ "No saved profiles yet. Profiles are saved during import.": "Chưa có hồ sơ nào được lưu. Hồ sơ được lưu trong quá trình nhập.", "No schedules yet": "Chưa có lịch trình nào", "No shifts defined yet.": "Chưa có ca nào được xác định.", - "No sites": "Không có cơ sở", + "No sites": "Không có địa điểm", "No skills defined yet.": "Chưa có kỹ năng nào được xác định.", "No skills yet": "Chưa có kỹ năng", "No specific batch": "Không có lô cụ thể", @@ -1622,9 +1622,9 @@ "SILENT": "im lặng", "silent": "im lặng", "SINCE": "TỪ KHI", - "SITES": "CƠ SỞ", - "sites": "cơ sở", - "Sites & areas": "Cơ sở & khu vực", + "SITES": "ĐỊA ĐIỂM", + "sites": "địa điểm", + "Sites & areas": "Địa điểm & khu vực", "SKILLS": "KỸ NĂNG", "Skills": "Kỹ năng", "Skills update failed": "Cập nhật kỹ năng không thành công", @@ -2435,7 +2435,7 @@ "Delete this plan?": "Xóa kế hoạch này?", "Delete this process segment?": "Xóa phân đoạn quy trình này?", "Delete this schedule? Existing generated events will keep history.": "Xóa lịch trình này? Các sự kiện được tạo hiện tại sẽ giữ lại lịch sử.", - "Delete this site?": "Xóa cơ sở này?", + "Delete this site?": "Xóa địa điểm này?", "Delete this template?": "Xóa mẫu này?", "Delete work order :order?": "Xóa lệnh sản xuất :order?", "Delta": "Đồng bằng", @@ -2683,7 +2683,7 @@ "No label template configured for type :type. Configure one in Packaging → Label Templates.": "Không có mẫu nhãn nào được định cấu hình cho loại :type. Định cấu hình một trong Bao bì → Mẫu nhãn.", "No label templates yet": "Chưa có mẫu nhãn", "No lines assigned to this area yet.": "Chưa có đường nào được chỉ định cho khu vực này.", - "No lines mapped under this site yet.": "Chưa có dây chuyền nào được gán cho cơ sở này.", + "No lines mapped under this site yet.": "Chưa có dây chuyền nào được gán cho địa điểm này.", "No log entries match your filters.": "Không có mục nhật ký nào khớp với bộ lọc của bạn.", "No lots match your filters.": "Không có lô nào phù hợp với bộ lọc của bạn.", "No maintenance events match your filters.": "Không có sự kiện bảo trì nào phù hợp với bộ lọc của bạn.", @@ -2697,7 +2697,7 @@ "No results recorded.": "Chưa ghi nhận kết quả.", "No scheduled orders": "Không có lệnh nào theo lịch trình", "No segments match your filters.": "Không có phân đoạn nào phù hợp với bộ lọc của bạn.", - "No sites yet": "Chưa có cơ sở nào", + "No sites yet": "Chưa có địa điểm nào", "No skills configured yet.": "Chưa có kỹ năng nào được cấu hình.", "No update information available. Please check for updates first.": "Không có thông tin cập nhật có sẵn. Vui lòng kiểm tra cập nhật trước.", "No work order alerts": "Không có cảnh báo lệnh sản xuất", @@ -3082,10 +3082,10 @@ "— Any —": "— Bất kỳ —", "— Define ad-hoc step —": "— Xác định bước đặc biệt —", "— None (ad-hoc step) —": "— Không (bước đặc biệt) —", - "— Select site —": "— Chọn cơ sở —", + "— Select site —": "— Chọn địa điểm —", "— Select —": "— Chọn —", "— no plan (ad-hoc) —": "— không theo kế hoạch (ad-hoc) —", - "← Back to Site": "← Quay lại cơ sở", + "← Back to Site": "← Quay lại địa điểm", "2FA is on — manage or disable": "2FA đang bật — quản lý hoặc tắt", ":hours h": ":hours giờ", "Action required:": "Hành động cần thiết:", @@ -3227,7 +3227,7 @@ "No materials yet.": "Chưa có tài liệu.", "No production lines yet.": "Chưa có dây chuyền sản xuất.", "No shifts yet.": "Chưa có ca nào.", - "No sites yet.": "Chưa có cơ sở nào.", + "No sites yet.": "Chưa có địa điểm nào.", "No skills yet.": "Chưa có kỹ năng.", "No subassemblies yet.": "Chưa có cụm lắp ráp phụ nào.", "No tools yet.": "Chưa có công cụ nào.", @@ -3396,7 +3396,7 @@ "Delete material lot \":name\"?": "Xóa lô nguyên liệu \":name\"?", "Delete process segment \":name\"?": "Xóa phân đoạn quy trình \":name\"?", "Delete shift \":name\"?": "Xóa ca \":name\"?", - "Delete site \":name\"?": "Xóa cơ sở \":name\"?", + "Delete site \":name\"?": "Xóa địa điểm \":name\"?", "Delete status \":name\"?": "Xóa trạng thái \":name\"?", "Delete subassembly \":name\"?": "Xóa cụm lắp ráp con \":name\"?", "Delete tool \":name\"?": "Xóa công cụ \":name\"?", @@ -3697,5 +3697,900 @@ "e.g. Lunch": "Ví dụ: Nghỉ trưa", "+ New Break Window": "+ Khung giờ nghỉ mới", "No break windows defined yet.": "Chưa có khung giờ nghỉ nào được định nghĩa.", - "Select date": "Chọn ngày" + "Select date": "Chọn ngày", + "(optional)": "(tùy chọn)", + "+ Add": "+ Thêm", + "+ Add Product Type": "+ Thêm loại sản phẩm", + "+ New Absence": "+ Vắng mặt mới", + "+ New Scrap Reason": "+ Thêm lý do phế phẩm", + "+ New order": "+ Thêm lệnh mới", + "02 — BUTTONS": "02 — NÚT BẤM", + "03 — SWITCHES & CHECKBOX": "03 — CÔNG TẮC & HỘP KIỂM", + "04 — INPUTS": "04 — TRƯỜNG NHẬP DỮ LIỆU", + "05 — SELECTION & TABS": "05 — LỰA CHỌN & THẺ (TAB)", + "06 — STATUS & BADGES": "06 — TRẠNG THÁI & HUY HIỆU", + "07 — MENUS & DROPDOWN": "07 — MENU & DANH SÁCH THẢ XUỐNG", + "08 — INLINE ALERTS": "08 — CẢNH BÁO TRỰC TIẾP", + "09/10 — OVERLAYS": "09/10 — LỚP PHỦ (OVERLAY)", + "10 — SWIPE ROW (swipe left)": "10 — HÀNG VUỐT (vuốt sang trái)", + "13 or 14 digits": "13 hoặc 14 chữ số", + "14 — DATE PICKER": "14 — BỘ CHỌN NGÀY", + "15 — SKELETON": "15 — KHUNG XƯƠNG (SKELETON)", + "80–100%": "80–100%", + ":count unestimated": ":count chưa ước tính", + "A unique identifier, e.g. subiekt": "Mã định danh duy nhất, ví dụ: subiekt", + "A — Availability: actual run time vs planned (downtime impact)\nP — Performance: actual speed vs ideal (slow cycles impact)\nQ — Quality: good units vs total produced (defects impact)\n\nTarget: >85% world-class, 65–84% typical, <65% needs improvement.": "A — Khả dụng: thời gian chạy thực tế so với kế hoạch (ảnh hưởng từ thời gian dừng máy)\nP — Hiệu suất: tốc độ thực tế so với lý tưởng (ảnh hưởng từ chu kỳ chậm)\nQ — Chất lượng: số lượng đạt so với tổng sản xuất (ảnh hưởng từ sản phẩm lỗi)\n\nMục tiêu: >85% đẳng cấp thế giới, 65–84% điển hình, <65% cần cải thiện.", + "ADD CRITERION": "THÊM TIÊU CHÍ", + "ADD PARAM": "THÊM THAM SỐ", + "ADMIN · SYSTEM": "QUẢN TRỊ · HỆ THỐNG", + "AVAILABLE": "KHẢ DỤNG", + "Account type": "Loại tài khoản", + "Action required": "Cần xử lý", + "Active line": "Dây chuyền đang hoạt động", + "Active lines": "Các dây chuyền đang hoạt động", + "Active only": "Chỉ các mục đang hoạt động", + "Active work orders snapshot the template, so deletion is safe but cannot be undone.": "Các lệnh sản xuất đang hoạt động sẽ lưu bản chụp của mẫu, do đó việc xóa là an toàn nhưng không thể hoàn tác.", + "Actual": "Thực tế", + "Actual cost (optional)": "Chi phí thực tế (tùy chọn)", + "Add": "Thêm", + "Add Material": "Thêm nguyên vật liệu", + "Add at least one column with a label and key": "Thêm ít nhất một cột có nhãn và khóa", + "Add at least one option": "Thêm ít nhất một tùy chọn", + "Add column": "Thêm cột", + "Add confirmation": "Thêm xác nhận", + "Add option": "Thêm tùy chọn", + "Add parameter": "Thêm tham số", + "Add produced quantity": "Thêm số lượng sản xuất", + "Add server": "Thêm máy chủ", + "Add step": "Thêm bước", + "Add to BOM": "Thêm vào BOM", + "Add, edit, reorder, delete": "Thêm, sửa, sắp xếp lại, xóa", + "Additional": "Bổ sung", + "Additional context…": "Bối cảnh bổ sung…", + "Alerts Dashboard": "Bảng điều khiển cảnh báo", + "All connections": "Tất cả kết nối", + "All crews": "Tất cả tổ làm việc", + "All day": "Cả ngày", + "All live": "Tất cả trực tiếp", + "All production": "Tất cả sản xuất", + "All quality controls are up to date.": "Tất cả kiểm soát chất lượng đều đã cập nhật.", + "All stations": "Tất cả trạm", + "All steps for this batch are done or skipped.": "Tất cả các bước cho lô này đã hoàn thành hoặc được bỏ qua.", + "All templates": "Tất cả mẫu", + "All workstations": "Tất cả trạm sản xuất", + "Amount": "Số lượng", + "Anomaly": "Bất thường", + "Appearance": "Giao diện", + "Assign an order": "Gán lệnh sản xuất", + "Assign to": "Gán cho", + "At least 8 characters": "Ít nhất 8 ký tự", + "Attachments": "Tệp đính kèm", + "Auto-generated from LOT sequence.": "Tự động tạo từ chuỗi LÔ.", + "Avail": "Khả dụng", + "Available for template steps": "Khả dụng cho các bước của mẫu", + "Available for worker assignment": "Khả dụng để phân công công nhân", + "Avg / unit": "TB / đơn vị", + "Avg batch size": "Kích thước lô trung bình", + "Awaiting acknowledgement": "Chờ xác nhận", + "Back to home": "Quay lại trang chủ", + "Backlog clear — all orders scheduled.": "Đã giải quyết tồn đọng — tất cả lệnh sản xuất đã được lên lịch.", + "Batch #3 closed": "Lô sản xuất #3 đã đóng", + "Batch step ID": "ID bước lô sản xuất", + "Binding summary": "Tóm tắt liên kết", + "Block the line until the check passes": "Khóa dây chuyền cho đến khi việc kiểm tra đạt yêu cầu", + "Block the line until the issue is resolved": "Khóa dây chuyền cho đến khi sự cố được giải quyết", + "Blocking issue": "Vấn đề gây tạm dừng", + "Blocking types notify supervisor immediately": "Các loại sự cố gây dừng sẽ thông báo cho giám sát viên ngay lập tức", + "Break windows": "Khoảng thời gian nghỉ", + "Brief summary…": "Tóm tắt ngắn gọn…", + "CATEGORY": "DANH MỤC", + "CLOSE": "ĐÓNG", + "CLOSE SHIFT": "ĐÓNG CA", + "COLUMNS": "CỘT", + "CONSUME FROM LOT": "TIÊU HAO TỪ LÔ", + "CREW_ID": "MÃ_TỔ_LÀM_VIỆC", + "CRITERION": "TIÊU CHÍ", + "CURRENT OPERATION · STEP": "CÔNG ĐOẠN ĐANG THỰC HIỆN · BƯỚC", + "Cancel batch": "Hủy lô sản xuất", + "Cancel work order": "Hủy lệnh sản xuất", + "Cancel work order {{no}}?": "Hủy lệnh sản xuất {{no}}?", + "Capacity": "Công suất", + "Cards": "Thẻ", + "Change password": "Đổi mật khẩu", + "Characteristic": "Đặc tính", + "Checked": "Đã kiểm tra", + "Click a cell to see and reschedule its work orders.": "Nhấp vào một ô để xem và sắp xếp lại lịch cho các lệnh sản xuất.", + "Clock out": "Tan ca", + "Close shift & save snapshot": "Đóng ca & lưu bản ghi thời điểm", + "Close shift?": "Đóng ca?", + "Closeout · balance": "Tổng kết · số dư", + "Column label": "Nhãn cột", + "Compact line view": "Chế độ xem dây chuyền thu gọn", + "Complete event": "Hoàn tất sự kiện", + "Complete work order": "Hoàn tất lệnh sản xuất", + "Completion details": "Chi tiết hoàn tất", + "Component gallery": "Thư viện thành phần", + "Components": "Thành phần", + "Configure a Modbus connection": "Cấu hình kết nối Modbus", + "Confirm": "Xác nhận", + "Connected": "Đã kết nối", + "Connection name": "Tên kết nối", + "Connectivity Mappings": "Ánh xạ kết nối", + "Consume from this lot": "Tiêu hao từ lô này", + "Consumption log": "Nhật ký tiêu hao", + "Cotton fabric": "Vải cotton", + "Could not close shift": "Không thể đóng ca", + "Could not consume": "Không thể ghi nhận tiêu hao", + "Could not create area": "Không thể tạo khu vực", + "Could not create class": "Không thể tạo phân loại", + "Could not create event": "Không thể tạo sự kiện", + "Could not create plan": "Không thể tạo kế hoạch", + "Could not create schedule": "Không thể tạo lịch trình", + "Could not create segment": "Không thể tạo công đoạn", + "Could not create site": "Không thể tạo địa điểm", + "Could not generate": "Không thể khởi tạo", + "Could not load work orders.": "Không thể tải danh sách lệnh sản xuất.", + "Could not move": "Không thể di chuyển", + "Could not process": "Không thể xử lý", + "Could not raise check": "Không thể khởi tạo kiểm tra", + "Could not record control": "Không thể ghi nhận kiểm soát", + "Could not reschedule.": "Không thể đặt lại lịch.", + "Could not restore": "Không thể khôi phục", + "Could not retry": "Không thể thử lại", + "Could not save": "Không thể lưu", + "Could not save absence": "Không thể lưu thông tin vắng mặt", + "Could not save break window": "Không thể lưu khoảng thời gian nghỉ", + "Could not skip": "Không thể bỏ qua", + "Could not start batch": "Không thể bắt đầu lô sản xuất", + "Could not update schedule": "Không thể cập nhật lịch trình", + "Country": "Quốc gia", + "Create": "Tạo", + "Create Batch": "Tạo lô sản xuất", + "Create EAN": "Tạo mã EAN", + "Create Template": "Tạo mẫu", + "Create break window": "Tạo khoảng thời gian nghỉ", + "Create connection": "Tạo kết nối", + "Create mapping": "Tạo ánh xạ", + "Create one maintenance event from this schedule immediately?": "Tạo ngay một sự kiện bảo trì từ lịch trình này?", + "Create plan": "Tạo kế hoạch", + "Create topic": "Tạo chủ đề", + "Create user": "Tạo người dùng", + "Crew #{{id}}": "Tổ làm việc #{{id}}", + "Crew planned hours are the labor demand of the lines each crew staffs.": "Số giờ kế hoạch của tổ làm việc là nhu cầu nhân công của các dây chuyền mà tổ đó phụ trách.", + "Criteria templates": "Mẫu tiêu chí", + "Current OEE": "OEE hiện tại", + "Custom statuses": "Trạng thái tùy chỉnh", + "Customer reference": "Tham chiếu khách hàng", + "Cycle": "Chu kỳ", + "DESCRIPTION": "MÔ TẢ", + "DISCREPANCIES": "SAI LỆCH", + "DISPLAY_NAME": "TÊN HIỂN THỊ", + "DONE TODAY": "HOÀN THÀNH HÔM NAY", + "DT": "Thời gian dừng máy", + "Daily records": "Bản ghi hàng ngày", + "Dates": "Ngày", + "Days of week": "Các ngày trong tuần", + "Default fallback": "Phương án dự phòng mặc định", + "Default scrap %": "Tỷ lệ phế phẩm mặc định %", + "Defaults": "Mặc định", + "Defect categories": "Danh mục lỗi", + "Define Kanban columns for this line": "Định nghĩa các cột Kanban cho dây chuyền này", + "Delete \":name\"?": "Xóa \":name\"?", + "Delete \"{{name}}\"?": "Xóa \"{{name}}\"?", + "Delete \"{{title}}\"?": "Xóa \"{{title}}\"?", + "Delete LOT sequence": "Xóa chuỗi số lô", + "Delete QC template": "Xóa mẫu QC", + "Delete QC trigger?": "Xóa điều kiện kích hoạt QC?", + "Delete absence": "Xóa vắng mặt", + "Delete account": "Xóa tài khoản", + "Delete anomaly reason": "Xóa lý do bất thường", + "Delete anomaly?": "Xóa bất thường?", + "Delete area": "Xóa khu vực", + "Delete attachment?": "Xóa tệp đính kèm?", + "Delete batch": "Xóa lô sản xuất", + "Delete break window": "Xóa khoảng thời gian nghỉ", + "Delete company": "Xóa công ty", + "Delete cost source": "Xóa nguồn chi phí", + "Delete cost?": "Xóa chi phí?", + "Delete crew": "Xóa tổ làm việc", + "Delete custom field?": "Xóa trường tùy chỉnh?", + "Delete division": "Xóa bộ phận", + "Delete event": "Xóa sự kiện", + "Delete factory": "Xóa nhà máy", + "Delete integration?": "Xóa tích hợp?", + "Delete issue type": "Xóa loại sự cố", + "Delete label template?": "Xóa mẫu nhãn?", + "Delete line": "Xóa dây chuyền", + "Delete maintenance event": "Xóa sự kiện bảo trì", + "Delete maintenance event?": "Xóa sự kiện bảo trì?", + "Delete material": "Xóa nguyên vật liệu", + "Delete material?": "Xóa nguyên vật liệu?", + "Delete pallet?": "Xóa pallet?", + "Delete personnel class": "Xóa phân loại nhân sự", + "Delete plan": "Xóa kế hoạch", + "Delete process segment?": "Xóa công đoạn quy trình?", + "Delete product type": "Xóa loại sản phẩm", + "Delete reason": "Xóa lý do", + "Delete schedule": "Xóa lịch trình", + "Delete scrap reason": "Xóa lý do phế phẩm", + "Delete shift": "Xóa ca", + "Delete site": "Xóa địa điểm", + "Delete skill": "Xóa kỹ năng", + "Delete subassembly": "Xóa cụm lắp ráp phụ", + "Delete template": "Xóa mẫu", + "Delete this absence?": "Xóa vắng mặt này?", + "Delete tool": "Xóa dụng cụ", + "Delete view template?": "Xóa mẫu giao diện?", + "Delete wage group": "Xóa nhóm lương", + "Delete webhook?": "Xóa webhook?", + "Delete work order": "Xóa lệnh sản xuất", + "Delete work order {{no}}? (only allowed if it has no batches)": "Xóa lệnh sản xuất {{no}}? (chỉ được phép khi không có lô sản xuất nào)", + "Delete worker": "Xóa công nhân", + "Delete workstation": "Xóa trạm sản xuất", + "Delete workstation type": "Xóa loại trạm sản xuất", + "Deliver events to this endpoint": "Gửi sự kiện đến điểm cuối này", + "Dev": "Dev", + "Disconnected": "Đã ngắt kết nối", + "Dismiss": "Bỏ qua", + "Done today": "Hoàn thành hôm nay", + "Downtime by reason · 7d": "Thời gian dừng máy theo lý do · 7 ngày", + "Downtime in progress": "Thời gian dừng máy đang diễn ra", + "Drag a bar sideways to reschedule · drag edges to resize · snaps to": "Kéo thanh sang ngang để đổi lịch · kéo các mép để thay đổi kích thước · tự động căn vào", + "Drag a block between shift cells or from the backlog · click an empty cell to assign · ✕ returns to backlog": "Kéo một khối giữa các ô ca làm việc hoặc từ danh sách chờ · nhấp vào ô trống để phân công · ✕ để đưa về danh sách chờ", + "Drag a block to move it (across shifts, days or lines) · drag its edges to stretch across shifts · click an empty cell to assign · ✕ returns to backlog": "Kéo khối để di chuyển (qua các ca, ngày hoặc dây chuyền) · kéo mép để kéo dài qua các ca · nhấp vào ô trống để phân công · ✕ để đưa về danh sách chờ", + "Drag backlog cards onto a slot, drag scheduled cards to move them, or click an empty slot to assign. Click a card to edit.": "Kéo các thẻ việc tồn đọng vào một ô, kéo các thẻ đã xếp lịch để di chuyển, hoặc nhấp vào ô trống để phân công. Nhấp vào thẻ để chỉnh sửa.", + "Drag failed": "Kéo thả thất bại", + "Drive belt wear — replace": "Dây đai truyền động mòn — thay thế", + "Duration min": "Thời lượng (phút)", + "EANs": "Mã EAN", + "EDIT SCHEDULE": "CHỈNH SỬA LỊCH", + "EMAIL PASSWORD + LOGIN URL ON CREATE": "GỬI EMAIL MẬT KHẨU + URL ĐĂNG NHẬP KHI TẠO", + "EMPLOYEE_NO": "MA_NHAN_VIEN", + "EUR": "EUR", + "EXP": "HSD", + "Each cell shows planned vs available hours.": "Mỗi ô hiển thị số giờ kế hoạch so với số giờ khả dụng.", + "Edit QC template": "Chỉnh sửa mẫu QC", + "Edit QC trigger": "Chỉnh sửa điều kiện kích hoạt QC", + "Edit Template": "Chỉnh sửa mẫu", + "Edit account": "Chỉnh sửa tài khoản", + "Edit area": "Chỉnh sửa khu vực", + "Edit connection": "Chỉnh sửa kết nối", + "Edit crew": "Chỉnh sửa tổ làm việc", + "Edit custom field": "Chỉnh sửa trường tùy chỉnh", + "Edit division": "Chỉnh sửa bộ phận", + "Edit factory": "Chỉnh sửa nhà máy", + "Edit integration": "Chỉnh sửa tích hợp", + "Edit label template": "Chỉnh sửa mẫu nhãn", + "Edit line": "Chỉnh sửa dây chuyền", + "Edit maintenance schedule": "Chỉnh sửa lịch bảo trì", + "Edit mapping": "Chỉnh sửa ánh xạ", + "Edit material": "Chỉnh sửa vật tư", + "Edit pallet": "Chỉnh sửa pallet", + "Edit personnel class": "Chỉnh sửa phân loại nhân sự", + "Edit product type": "Chỉnh sửa loại sản phẩm", + "Edit segment": "Chỉnh sửa công đoạn", + "Edit shift": "Chỉnh sửa ca", + "Edit site": "Chỉnh sửa địa điểm", + "Edit skill": "Chỉnh sửa kỹ năng", + "Edit steps": "Chỉnh sửa các bước", + "Edit tool": "Chỉnh sửa công cụ", + "Edit topic": "Chỉnh sửa chủ đề", + "Edit view template": "Chỉnh sửa mẫu hiển thị", + "Edit wage group": "Chỉnh sửa nhóm lương", + "Edit webhook": "Chỉnh sửa webhook", + "Edit workstation": "Chỉnh sửa trạm sản xuất", + "Edit workstation type": "Chỉnh sửa loại trạm sản xuất", + "Employee": "Nhân viên", + "Employee Schedule": "Lịch làm việc của nhân viên", + "Enable from web admin → Modules to use this screen.": "Bật trong Quản trị web → Mô-đun để sử dụng màn hình này.", + "Encrypt the broker connection": "Mã hóa kết nối broker", + "Ends": "Kết thúc", + "Enter a number ≥ 1": "Nhập một số ≥ 1", + "Error on duplicate": "Báo lỗi khi trùng lặp", + "Est.": "Ước tính", + "Estimated duration (minutes)": "Thời lượng ước tính (phút)", + "Europe/Warsaw": "Europe/Warsaw", + "Event Logs": "Nhật ký sự kiện", + "Every (n)": "Mỗi (n)", + "Every 50 units": "Mỗi 50 đơn vị", + "External code": "Mã bên ngoài", + "External system": "Hệ thống bên ngoài", + "FIRST_NAME": "TEN", + "Field Path": "Đường dẫn trường", + "Field is shown on forms": "Trường được hiển thị trên biểu mẫu", + "Field key": "Khóa trường", + "Filled in after completion": "Điền sau khi hoàn thành", + "Filter by entity type": "Lọc theo loại đối tượng", + "Filter by event type or entity": "Lọc theo loại sự kiện hoặc đối tượng", + "First name": "Tên", + "Fleet": "Đội xe/thiết bị", + "Force password change": "Bắt buộc đổi mật khẩu", + "Forward — consumed into": "Truy xuất xuôi — tiêu hao vào", + "Genealogy · tree view": "Truy xuất nguồn gốc · dạng cây", + "Generate": "Tạo", + "Generate events from this schedule": "Tạo các sự kiện từ lịch này", + "Generate the event N days before it is due": "Tạo sự kiện N ngày trước hạn", + "Generate the event N days before next_due_at": "Tạo sự kiện N ngày trước next_due_at", + "HH:MM": "HH:MM", + "HH:mm": "HH:mm", + "Healthy": "Bình thường", + "High severity": "Mức độ nghiêm trọng cao", + "Hourly rate": "Mức lương theo giờ", + "IANA timezone name (e.g. Europe/Warsaw)": "Tên múi giờ IANA (ví dụ: Europe/Warsaw)", + "IDENTITY": "DINH_DANH", + "INSTALLED VERSION": "PHIÊN BẢN ĐÃ CÀI ĐẶT", + "ISA-95 personnel class code (e.g. OP-A1)": "Mã nhóm nhân sự ISA-95 (ví dụ: OP-A1)", + "ISO 8601 — minute precision": "ISO 8601 — độ chính xác đến phút", + "ISO 8601 — minute precision (e.g. 2026-06-01T08:00:00)": "ISO 8601 — độ chính xác đến phút (ví dụ: 2026-06-01T08:00:00)", + "Identifiers": "Mã định danh", + "Import work orders from a CSV file with custom column mapping": "Nhập lệnh sản xuất từ tệp CSV với ánh xạ cột tùy chỉnh", + "Imports": "Nhập dữ liệu", + "Inspection plans": "Kế hoạch kiểm tra", + "Integration is enabled": "Đã bật tích hợp", + "Interval value": "Giá trị khoảng thời gian", + "Issue types": "Các loại sự cố", + "JSONPath into the payload — e.g. data.good_qty": "JSONPath vào payload — ví dụ: data.good_qty", + "Karolina": "Karolina", + "Karolina Wójcik": "Karolina Wójcik", + "Keep alive (seconds)": "Duy trì kết nối (giây)", + "Key cannot change after creation": "Khóa không thể thay đổi sau khi tạo", + "Kind": "Loại", + "LAST_NAME": "HỌ", + "LINES USING": "DÂY CHUYỀN SỬ DỤNG", + "LOADING LINES…": "ĐANG TẢI DÂY CHUYỀN…", + "LONG-PRESS A SERVER TO RENAME OR REMOVE": "NHẤN GIỮ MỘT MÁY CHỦ ĐỂ ĐỔI TÊN HOẶC XÓA", + "LOT #{{id}}": "LÔ #{{id}}", + "LOT number (override, optional)": "Số LÔ (ghi đè, tùy chọn)", + "Last name": "Họ", + "Last sync": "Lần đồng bộ cuối", + "Latest": "Mới nhất", + "Leave blank to auto-generate": "Để trống để tự động tạo", + "Leave blank to consume from the parent lot directly": "Để trống để tiêu hao trực tiếp từ lô cha", + "Leave blank to keep the current secret": "Để trống để giữ mã bảo mật hiện tại", + "Leave blank to use a generated ID": "Để trống để sử dụng ID tự động tạo", + "Leave both blank for a plan that applies to anything.": "Để trống cả hai đối với kế hoạch áp dụng cho mọi đối tượng.", + "Line / Load": "Dây chuyền / Tải", + "Line assignments": "Phân công dây chuyền", + "Line dashboard column presets.": "Cấu hình sẵn cột bảng điều khiển dây chuyền.", + "Line stopped?": "Dây chuyền đã dừng?", + "Line · Load": "Dây chuyền · Tải", + "Line · Shift": "Dây chuyền · Ca", + "Lines this crew staffs (drives its labor demand on the capacity view).": "Các dây chuyền mà tổ làm việc này đảm nhận (tạo ra nhu cầu nhân công trên chế độ xem năng lực).", + "Listen on this topic": "Lắng nghe trên topic này", + "Live fleet": "Đội thiết bị trực tuyến", + "Live message log": "Nhật ký tin nhắn trực tiếp", + "Live operations": "Vận hành thời gian thực", + "Live tail · failed jobs": "Theo dõi trực tiếp · tác vụ thất bại", + "Live tail · {{n}} entries · polling 5s": "Theo dõi trực tiếp · {{n}} mục · quét mỗi 5s", + "Live tracking": "Theo dõi thời gian thực", + "Log output": "Đầu ra nhật ký", + "Long-press a bar on the planner to drag it. Use this modal for line changes and exact times.": "Nhấn giữ một thanh trên công cụ lập kế hoạch để kéo. Sử dụng hộp thoại này để thay đổi dây chuyền và thời gian chính xác.", + "Lot Genealogy": "Phả hệ lô", + "Lot Sequences": "Chuỗi số lô", + "Lot not yet consumed.": "Lô chưa được tiêu hao.", + "Lower numbers run first": "Số nhỏ hơn sẽ chạy trước", + "Lowercase letters, numbers and underscores; must start with a letter": "Chữ cái viết thường, số và dấu gạch dưới; phải bắt đầu bằng chữ cái", + "Lowercase, no spaces. Must be unique.": "Chữ thường, không khoảng trắng. Phải là duy nhất.", + "MAT-001": "MAT-001", + "MQTT connectivity": "Kết nối MQTT", + "MQTT off": "Tắt MQTT", + "MQTT wildcards (+, #) are accepted": "Chấp nhận ký tự đại diện MQTT (+, #)", + "MRP · shortages": "MRP · thiếu hụt vật tư", + "MY STATION": "TRẠM CỦA TÔI", + "Machine monitor": "Giám sát máy móc", + "Maintenance history": "Lịch sử bảo trì", + "Manage": "Quản lý", + "Manage divisions inside this factory": "Quản lý các bộ phận trong nhà máy này", + "Manage workstations on this line": "Quản lý các trạm sản xuất trên dây chuyền này", + "Mapping": "Ánh xạ", + "Mark resolved": "Đánh dấu đã giải quyết", + "Mark this event as cancelled?": "Đánh dấu sự kiện này là đã hủy?", + "Marks the order as effectively complete": "Đánh dấu lệnh sản xuất là đã hoàn thành thực sự", + "Material #{{id}}": "Vật tư #{{id}}", + "Material (optional)": "Nguyên vật liệu (tùy chọn)", + "Material is in use": "Vật tư đang được sử dụng", + "Material sources": "Nguồn vật tư", + "Material type (optional)": "Loại vật tư (tùy chọn)", + "Max (optional)": "Tối đa (tùy chọn)", + "Max 10 MB · .csv, .txt": "Tối đa 10 MB · .csv, .txt", + "Menu": "Menu", + "Min (optional)": "Tối thiểu (tùy chọn)", + "Min checks per batch (optional)": "Số lần kiểm tra tối thiểu mỗi lô (tùy chọn)", + "Min checks per day (optional)": "Số lần kiểm tra tối thiểu mỗi ngày (tùy chọn)", + "Min/Batch": "Tối thiểu/Lô", + "Missing": "Thiếu", + "Move": "Di chuyển", + "Msg/min": "Bản tin/phút", + "Multi-select — workers must hold every selected skill": "Chọn nhiều — công nhân phải đáp ứng tất cả kỹ năng đã chọn", + "Must be filled in": "Bắt buộc nhập", + "Must be strictly after planned start": "Phải sau thời gian bắt đầu theo kế hoạch", + "My integration": "Tích hợp của tôi", + "My schedule": "Lịch của tôi", + "My shift": "Ca của tôi", + "NO LINES EXIST YET": "CHƯA CÓ DÂY CHUYỀN NÀO", + "NO SKILLS DEFINED YET": "CHƯA ĐỊNH NGHĨA KỸ NĂNG NÀO", + "Near capacity": "Gần đạt công suất", + "New Class": "Phân lớp mới", + "New EAN": "Mã EAN mới", + "New QC template": "Mẫu QC mới", + "New QC trigger": "Điều kiện kích hoạt QC mới", + "New anomaly": "Bất thường mới", + "New area": "Khu vực mới", + "New batch": "Lô sản xuất mới", + "New connection": "Kết nối mới", + "New cost": "Chi phí mới", + "New crew": "Tổ làm việc mới", + "New custom field": "Trường tùy chỉnh mới", + "New division": "Bộ phận mới", + "New event": "Sự kiện mới", + "New factory": "Nhà máy mới", + "New field": "Trường mới", + "New integration": "Tích hợp mới", + "New label template": "Mẫu nhãn mới", + "New line": "Dây chuyền mới", + "New maintenance event": "Sự kiện bảo trì mới", + "New mapping": "Ánh xạ mới", + "New material": "Nguyên vật liệu mới", + "New pallet": "Pallet mới", + "New password": "Mật khẩu mới", + "New personnel class": "Phân loại nhân sự mới", + "New product type": "Loại sản phẩm mới", + "New segment": "Phân đoạn mới", + "New shift": "Ca làm việc mới", + "New site": "Địa điểm mới", + "New skill": "Kỹ năng mới", + "New status": "Trạng thái mới", + "New step": "Bước mới", + "New template": "Mẫu mới", + "New tool": "Dụng cụ mới", + "New topic": "Chủ đề mới", + "New trigger": "Điều kiện kích hoạt mới", + "New view template": "Mẫu giao diện mới", + "New wage group": "Nhóm lương mới", + "New webhook": "Webhook mới", + "New work orders start here": "Lệnh sản xuất mới bắt đầu từ đây", + "New workstation": "Trạm sản xuất mới", + "New workstation type": "Loại trạm sản xuất mới", + "Next due (ISO datetime)": "Hạn kế tiếp (ngày giờ ISO)", + "Next lot": "Lô kế tiếp", + "Next service": "Lần bảo dưỡng kế tiếp", + "Next: {{lot}}": "Kế tiếp: {{lot}}", + "No EANs.": "Không có mã EAN nào.", + "No QC templates.": "Không có mẫu QC nào.", + "No QC triggers defined.": "Chưa định nghĩa điều kiện kích hoạt QC.", + "No absences": "Không vắng mặt", + "No absences recorded yet.": "Chưa ghi nhận vắng mặt nào.", + "No active alerts": "Không có cảnh báo nào đang hoạt động", + "No active crews.": "Không có tổ làm việc nào đang hoạt động.", + "No active work orders": "Không có lệnh sản xuất nào đang hoạt động", + "No activity types loaded": "Chưa tải loại hoạt động nào", + "No additional costs": "Không có chi phí bổ sung", + "No anomalies": "Không có bất thường", + "No anomalies.": "Không có bất thường nào.", + "No attachments": "Không có tệp đính kèm", + "No attachments.": "Không có tệp đính kèm nào.", + "No break windows": "Không có khoảng thời gian nghỉ", + "No capacity": "Không có công suất", + "No capacity data.": "Không có dữ liệu công suất.", + "No connections.": "Không có kết nối nào.", + "No contractors": "Không có nhà thầu nào", + "No custom fields defined.": "Chưa định nghĩa trường tùy chỉnh nào.", + "No downtime.": "Không có thời gian dừng máy.", + "No exact time yet — drag to schedule": "Chưa có thời gian cụ thể — kéo để xếp lịch", + "No finished work orders in this period.": "Không có lệnh sản xuất nào hoàn thành trong khoảng thời gian này.", + "No imports yet": "Chưa có dữ liệu nhập nào", + "No inspections.": "Chưa có kiểm tra nào.", + "No issue types": "Chưa có loại sự cố nào", + "No issues": "Không có sự cố nào", + "No label templates.": "Chưa có mẫu nhãn nào.", + "No line statuses.": "Chưa có trạng thái dây chuyền nào.", + "No lines exist yet": "Chưa có dây chuyền nào", + "No lots.": "Chưa có lô nào.", + "No machines": "Chưa có máy móc nào", + "No maintenance events.": "Chưa có sự kiện bảo trì nào.", + "No mappings yet.": "Chưa có ánh xạ nào.", + "No mappings.": "Chưa có ánh xạ nào.", + "No matching orders": "Không tìm thấy lệnh sản xuất phù hợp", + "No matching orders.": "Không tìm thấy lệnh sản xuất phù hợp.", + "No messages yet.": "Chưa có tin nhắn nào.", + "No modules.": "Chưa có phân hệ nào.", + "No outstanding controls": "Không có kiểm soát nào còn tồn đọng", + "No pallets.": "Chưa có pallet nào.", + "No previous events.": "Chưa có sự kiện trước đó.", + "No process segments.": "Chưa có phân đoạn quy trình nào.", + "No process templates.": "Chưa có mẫu quy trình nào.", + "No production anomalies.": "Không có bất thường sản xuất nào.", + "No production running": "Không có hoạt động sản xuất nào đang chạy", + "No products": "Chưa có sản phẩm nào", + "No recently completed work orders": "Không có lệnh sản xuất nào hoàn thành gần đây", + "No records yet": "Chưa có bản ghi nào", + "No recurring crew breaks configured.": "Chưa cấu hình thời gian nghỉ định kỳ cho tổ làm việc.", + "No scrap in this period.": "Không có phế phẩm trong khoảng thời gian này.", + "No scrap reasons": "Chưa có lý do phế phẩm", + "No shift configured": "Chưa cấu hình ca làm việc", + "No shifts": "Chưa có ca làm việc nào", + "No shifts.": "Chưa có ca làm việc nào.", + "No shortages — all materials covered.": "Không thiếu hụt — đã đáp ứng đủ tất cả nguyên vật liệu.", + "No sites yet — create one first": "Chưa có địa điểm nào — hãy tạo mới trước", + "No skills defined yet": "Chưa thiết lập kỹ năng nào", + "No steps defined yet.": "Chưa thiết lập các bước.", + "No stock entries": "Không có bản ghi nhập/xuất kho nào", + "No supervisor on line yet": "Chưa có giám sát viên trên dây chuyền", + "No targets available": "Không có mục tiêu nào", + "No template": "Không có mẫu", + "No topics.": "Chưa có chủ đề nào.", + "No upstream sources recorded.": "Chưa ghi nhận nguồn cung cấp đầu vào.", + "No view templates.": "Chưa có mẫu hiển thị nào.", + "No warehouses": "Chưa có kho hàng nào", + "No webhook endpoints.": "Chưa có điểm cuối webhook nào.", + "No work orders": "Không có lệnh sản xuất nào", + "No work orders currently waiting at {{name}}": "Không có lệnh sản xuất nào đang chờ tại {{name}}", + "No work orders in this cell.": "Không có lệnh sản xuất nào trong ô sản xuất này.", + "No work orders to pack.": "Không có lệnh sản xuất nào cần đóng gói.", + "No worker absences recorded.": "Chưa ghi nhận lượt vắng mặt nào của công nhân.", + "No worker profile": "Chưa có hồ sơ công nhân", + "No workers assigned.": "Chưa phân công công nhân nào.", + "No workstations": "Chưa có trạm sản xuất nào", + "No {{protocol}} connections.": "Không có kết nối {{protocol}} nào.", + "Not found": "Không tìm thấy", + "Nothing to show": "Không có nội dung hiển thị", + "OEE = A × P × Q": "OEE = A × P × Q", + "OEE trend · 7 days": "Xu hướng OEE · 7 ngày", + "ON TASK": "ĐANG THỰC HIỆN", + "ONE SEQUENCE PER PRODUCT TYPE · DEFAULT IS THE GLOBAL FALLBACK": "MỖI LOẠI SẢN PHẨM MỘT THỨ TỰ · MẶC ĐỊNH LÀ DỰ PHÒNG CHUNG", + "ONLINE": "TRỰC TUYẾN", + "OPEN ISSUES": "SỰ CỐ ĐANG MỞ", + "OPEN PALLETS": "PALLET ĐANG MỞ", + "OUTSTANDING": "TỒN ĐỌNG", + "Offline": "Ngoại tuyến", + "On": "Bật", + "On shift": "Trong ca làm việc", + "Open API in browser": "Mở API trong trình duyệt", + "Open NCRs": "NCR đang mở", + "Open issue": "Sự cố đang mở", + "Open on web to edit": "Mở trên web để chỉnh sửa", + "Open station on web": "Mở trạm trên web", + "Open work order": "Lệnh sản xuất đang mở", + "Optional JSON object passed to the action handler": "Đối tượng JSON tùy chọn được truyền tới bộ xử lý hành động", + "Optional expression to gate this mapping": "Biểu thức tùy chọn để giới hạn ánh xạ này", + "Optional note": "Ghi chú tùy chọn", + "Optional notes — what's blocking?": "Ghi chú tùy chọn — vướng mắc là gì?", + "Order no.": "Mã lệnh", + "Other entities": "Các thực thể khác", + "Outgoing endpoints that POST on subscribed events.": "Các điểm cuối đầu ra gửi yêu cầu POST đối với các sự kiện đã đăng ký.", + "Outstanding controls": "Kiểm soát còn tồn đọng", + "Over 100%": "Trên 100%", + "Overloaded": "Quá tải", + "PARAM": "THAM SỐ", + "PICK A SUPERVISOR": "CHỌN GIÁM SÁT VIÊN", + "PLN": "PLN", + "PREPEND CURRENT YEAR (E.G. 2026LOT0001)": "THÊM NĂM HIỆN TẠI VÀO TRƯỚC (VÍ DỤ: 2026LOT0001)", + "PRODUCED": "ĐÃ SẢN XUẤT", + "Pack & Ship": "Đóng gói & Giao hàng", + "Pack {{units}} units of {{each}} each = {{pieces}} pieces": "Đóng gói {{units}} đơn vị, mỗi đơn vị {{each}} = {{pieces}} chiếc", + "Packaging EANs": "Mã EAN đóng gói", + "Pad size": "Kích thước đệm", + "Pakowanie": "Đóng gói", + "Parameter": "Tham số", + "Pareto · CAPA": "Pareto · CAPA", + "Pass / fail": "Đạt / Không đạt", + "Pending resolution": "Chờ giải quyết", + "Perf": "Hiệu suất", + "Personal account": "Tài khoản cá nhân", + "Pick a backlog order for this slot": "Chọn một đơn hàng trong hàng chờ cho vị trí này", + "Pick a crew": "Chọn một tổ làm việc", + "Pick a kind, then a specific reason": "Chọn phân loại, sau đó chọn lý do cụ thể", + "Pick a lot to explore.": "Chọn một lô để xem chi tiết.", + "Pick a wage group": "Chọn một nhóm lương", + "Pick lot": "Chọn lô", + "Plan name": "Tên kế hoạch", + "Plan not found": "Không tìm thấy kế hoạch", + "Planned / Actual": "Kế hoạch / Thực tế", + "Planned end (ISO)": "Kết thúc theo kế hoạch (ISO)", + "Planned start (ISO)": "Bắt đầu theo kế hoạch (ISO)", + "Preferences": "Tùy chọn", + "Preferred time (HH:mm)": "Thời gian ưu tiên (HH:mm)", + "Process · all steps": "Quy trình · tất cả các bước", + "Produced quantity": "Số lượng đã sản xuất", + "Produced quantity (optional)": "Số lượng đã sản xuất (không bắt buộc)", + "Product Type Code": "Mã loại sản phẩm", + "Product type": "Loại sản phẩm", + "Production blocked": "Sản xuất bị chặn", + "Production controls": "Kiểm soát sản xuất", + "Production policies": "Chính sách sản xuất", + "Production qty (optional)": "Số lượng sản xuất (không bắt buộc)", + "Production steps": "Các bước sản xuất", + "Products are syncing in the background.": "Sản phẩm đang được đồng bộ ở chế độ nền.", + "Profile name": "Tên hồ sơ", + "Protocol": "Giao thức", + "QC Templates": "Mẫu QC", + "QC Triggers": "Điều kiện kích hoạt QC", + "QC template": "Mẫu QC", + "QC template not found": "Không tìm thấy mẫu QC", + "QC templates": "Mẫu QC", + "Qty (done / planned)": "SL (hoàn thành / kế hoạch)", + "Qty per unit": "SL trên mỗi đơn vị", + "Qual": "Chất lượng", + "Quality Tasks": "Nhiệm vụ chất lượng", + "Quality check requirements per batch": "Yêu cầu kiểm tra chất lượng theo lô sản xuất", + "Quality control": "Kiểm tra chất lượng", + "Quality tasks": "Nhiệm vụ chất lượng", + "Quantities below available are deducted from quantity_available": "Số lượng nhỏ hơn lượng khả dụng sẽ được trừ vào quantity_available", + "Quantity (Planned)": "Số lượng (Kế hoạch)", + "Quantity affected": "Số lượng bị ảnh hưởng", + "RECEIVED": "ĐÃ NHẬN", + "REMOVE": "XÓA", + "REQUIRED": "BẮT BUỘC", + "Read-only on mobile. Edit products & sync rules from web admin.": "Chỉ đọc trên di động. Chỉnh sửa sản phẩm & quy tắc đồng bộ từ web quản trị.", + "Ready for production": "Sẵn sàng sản xuất", + "Recent lots": "Các lô gần đây", + "Recently Completed": "Đã hoàn thành gần đây", + "Record QC": "Ghi nhận QC", + "Record a production stoppage for this line": "Ghi nhận việc dừng sản xuất cho dây chuyền này", + "Record absence": "Ghi nhận vắng mặt", + "Record cost": "Ghi nhận chi phí", + "Recurring PMs": "Bảo trì định kỳ", + "Recurring breaks": "Giờ nghỉ định kỳ", + "Related": "Liên quan", + "Release for production": "Duyệt sản xuất", + "Release for sale": "Duyệt bán hàng", + "Remove \"{{ean}}\"?": "Xóa \"{{ean}}\"?", + "Remove \"{{name}}\"?": "Xóa \"{{name}}\"?", + "Remove this order from the schedule?": "Xóa đơn hàng này khỏi lịch trình?", + "Rename": "Đổi tên", + "Rename server": "Đổi tên máy chủ", + "Report Downtime": "Báo cáo thời gian dừng máy", + "Report Issue": "Báo cáo sự cố", + "Report downtime to track availability": "Báo cáo thời gian dừng máy để theo dõi tỷ lệ khả dụng", + "Report problem": "Báo cáo vấn đề", + "Reported issue": "Sự cố đã báo cáo", + "Required fields not mapped": "Các trường bắt buộc chưa được ghép nối", + "Reschedule anyway": "Vẫn xếp lại lịch", + "Reset password": "Đặt lại mật khẩu", + "Restore \"{{label}}\"? Related records deleted with it are restored too.": "Khôi phục \"{{label}}\"? Các bản ghi liên quan bị xóa cùng cũng sẽ được khôi phục.", + "Retry failed job": "Thử lại tác vụ thất bại", + "Run": "Chạy", + "Run Import": "Chạy nhập dữ liệu", + "Run batch": "Chạy lô sản xuất", + "Run report": "Chạy báo cáo", + "Run this mapping on matching messages": "Áp dụng quy tắc ghép nối này cho các tin nhắn phù hợp", + "SERVER": "MÁY CHỦ", + "SHOW INACTIVE": "HIỆN KHÔNG HOẠT ĐỘNG", + "SUBLOTS": "LÔ CON", + "Same shape used for Anomaly reason · Cost source · Company · Subassembly · LOT sequence — code, name, optional fields, active toggle.": "Cấu trúc tương tự được dùng cho Lý do bất thường · Nguồn chi phí · Công ty · Cụm chi tiết phụ · Chuỗi lô (LOT) — mã, tên, các trường tùy chọn, nút bật/tắt kích hoạt.", + "Samples": "Mẫu thử", + "Samples per check (optional)": "Số mẫu mỗi lần kiểm tra (tùy chọn)", + "Save mapping profile": "Lưu cấu hình ghép nối", + "Save schedule": "Lưu lịch trình", + "Scan barcode": "Quét mã vạch", + "Schedule Capacity": "Công suất theo kế hoạch", + "Schedule anyway": "Vẫn xếp lịch", + "Schedule maintenance": "Lên lịch bảo trì", + "Schedule not found": "Không tìm thấy lịch trình", + "Scheduled at": "Đã lên lịch vào", + "Scheduled at (ISO)": "Đã lên lịch vào (ISO)", + "Schedules": "Lịch trình", + "Scheduling conflict": "Xung đột lịch trình", + "Scope target": "Mục tiêu phạm vi", + "Scrap dispo.": "Xử lý phế phẩm", + "Scrap reasons": "Lý do phế phẩm", + "Search activity…": "Tìm kiếm hoạt động…", + "Search anomalies…": "Tìm kiếm bất thường…", + "Search audit logs…": "Tìm kiếm nhật ký kiểm tra…", + "Search backlog": "Tìm kiếm tồn đọng", + "Search backlog…": "Tìm kiếm tồn đọng…", + "Search by lot or material": "Tìm theo lô hoặc nguyên vật liệu", + "Search by name, email, username": "Tìm theo tên, email, tên người dùng", + "Search connections…": "Tìm kiếm kết nối…", + "Search inspections…": "Tìm kiếm kiểm tra…", + "Search issues...": "Tìm kiếm sự cố...", + "Search lots…": "Tìm kiếm lô…", + "Search message or stack trace": "Tìm kiếm tin nhắn hoặc stack trace", + "Search name or code": "Tìm kiếm tên hoặc mã", + "Search order or product": "Tìm kiếm đơn hàng hoặc sản phẩm", + "Search topics": "Tìm kiếm chủ đề", + "Search work orders": "Tìm kiếm lệnh sản xuất", + "Segment not found": "Không tìm thấy phân đoạn", + "Select": "Chọn", + "Select Line": "Chọn dây chuyền", + "Select a scope target": "Chọn mục tiêu phạm vi", + "Select an activity": "Chọn một hoạt động", + "Select at least one event": "Chọn ít nhất một sự kiện", + "Select connection": "Chọn kết nối", + "Select crew": "Chọn tổ làm việc", + "Select entity": "Chọn thực thể", + "Select material": "Chọn nguyên vật liệu", + "Select material type": "Chọn loại nguyên vật liệu", + "Select site": "Chọn địa điểm", + "Select topic": "Chọn chủ đề", + "Select type": "Chọn loại", + "Select worker": "Chọn công nhân", + "Selected lot": "Lô đã chọn", + "Send setup email": "Gửi email thiết lập", + "Send to backlog": "Chuyển vào tồn đọng", + "Server": "Máy chủ", + "Server URL": "URL máy chủ", + "Server will generate a temp password and force change on first login.": "Máy chủ sẽ tạo mật khẩu tạm thời và bắt buộc thay đổi trong lần đăng nhập đầu tiên.", + "Sets a new password and revokes all active sessions": "Đặt mật khẩu mới và hủy tất cả các phiên đang hoạt động", + "Sh": "Ca", + "Shift closed": "Ca đã đóng", + "Shift handover": "Bàn giao ca", + "Show in operator dropdowns and crew rosters": "Hiển thị trong danh sách chọn người vận hành và danh sách tổ làm việc", + "Show inactive": "Hiển thị không hoạt động", + "Sign out {{name}}?": "Đăng xuất {{name}}?", + "Silent": "Im lặng", + "Sites group areas, which group lines (ISA-95)": "Nhà máy nhóm các khu vực, khu vực nhóm các dây chuyền (ISA-95)", + "Skip \"{{name}}\"?": "Bỏ qua \"{{name}}\"?", + "Skip control?": "Bỏ qua kiểm soát?", + "Skip existing rows": "Bỏ qua các hàng đã tồn tại", + "Skipped": "Đã bỏ qua", + "Snap": "Khớp", + "Snapshot saved.": "Đã lưu ảnh chụp trạng thái.", + "Span": "Khoảng thời gian", + "Spans another day — edit it from that day": "Kéo dài sang ngày khác — hãy chỉnh sửa từ ngày đó", + "Standard work order": "Lệnh sản xuất tiêu chuẩn", + "Start Downtime": "Bắt đầu thời gian dừng máy", + "Start a fresh session on each connect": "Bắt đầu phiên mới mỗi lần kết nối", + "Start batch": "Bắt đầu lô sản xuất", + "Start downtime timer": "Bắt đầu đếm giờ dừng máy", + "Start listening on daemon start": "Bắt đầu lắng nghe khi daemon khởi động", + "Starts": "Bắt đầu", + "Stop": "Dừng", + "Stop Downtime": "Dừng thời gian dừng máy", + "Subiekt GT": "Subiekt GT", + "Subiekt nexo is not enabled": "Subiekt nexo chưa được bật", + "Sublot ID (optional)": "Mã lô phụ (không bắt buộc)", + "Submit": "Gửi", + "Submit & escalate": "Gửi & báo cáo cấp trên", + "Submit Report": "Gửi báo cáo", + "Submit checklist": "Gửi danh mục kiểm tra", + "Suffix (optional)": "Hậu tố (không bắt buộc)", + "Surface finish": "Hoàn thiện bề mặt", + "Swipe a row for actions": "Vuốt một hàng để xem thao tác", + "Switch": "Chuyển", + "System logs": "Nhật ký hệ thống", + "System name": "Tên hệ thống", + "System type": "Loại hệ thống", + "TEMP_PASSWORD": "MẬT_KHẨU_TẠM", + "THROUGHPUT": "SẢN LƯỢNG THÔNG QUA", + "Table": "Bảng", + "Tap Add to record one.": "Chạm vào Thêm để ghi nhận.", + "Tap to assign a crew": "Chạm để phân công tổ làm việc", + "Tap to change": "Chạm để thay đổi", + "Target kind": "Loại mục tiêu", + "Target qty": "Số lượng mục tiêu", + "Team": "Đội ngũ", + "Template is available for printing": "Mẫu đã sẵn sàng để in", + "Temporary password": "Mật khẩu tạm thời", + "Tensile strength": "Độ bền kéo", + "The Andon issue-type catalog is empty.": "Danh mục loại sự cố Andon đang trống.", + "The page you're looking for has been moved, removed, or never existed.": "Trang bạn đang tìm kiếm đã bị di chuyển, xóa hoặc không tồn tại.", + "The scrap-reason dictionary is empty.": "Từ điển lý do phế phẩm đang trống.", + "The user must change their password on next login.": "Người dùng phải đổi mật khẩu trong lần đăng nhập tiếp theo.", + "Theme": "Giao diện", + "There are no work orders currently in progress on this line.": "Hiện không có lệnh sản xuất nào đang thực hiện trên dây chuyền này.", + "This order has an exact time plan — replace it with a day/shift placement?": "Lệnh này có kế hoạch thời gian chính xác — thay thế bằng việc xếp theo ngày/ca?", + "This screen doesn't exist.": "Màn hình này không tồn tại.", + "This screen has not been built yet. The underlying endpoint is available — wire up the UI when ready.": "Màn hình này chưa được xây dựng. Endpoint bên dưới đã khả dụng — hãy kết nối giao diện khi sẵn sàng.", + "This shift": "Ca này", + "This slot overlaps another active order on the same line. Schedule it anyway, or pick a different slot.": "Khoảng thời gian này chồng lấp với một lệnh đang hoạt động khác trên cùng dây chuyền. Vẫn lập kế hoạch hay chọn khoảng thời gian khác?", + "This snapshots the current balance and saves a handover record.": "Thao tác này chụp lại số dư hiện tại và lưu bản ghi bàn giao.", + "Throughput (30 days)": "Sản lượng thông qua (30 ngày)", + "Time-planned — edit in planner": "Đã lập kế hoạch theo thời gian — chỉnh sửa trong bộ lập kế hoạch", + "Topic": "Chủ đề", + "Total additional costs": "Tổng chi phí bổ sung", + "Total produced": "Tổng đã sản xuất", + "Track live order": "Theo dõi lệnh sản xuất thực tế", + "Trigger is enabled": "Trình kích hoạt đã được bật", + "Try a different filter or pull to refresh.": "Thử bộ lọc khác hoặc vuốt để làm mới.", + "Try a different search.": "Thử tìm kiếm khác.", + "Type (optional)": "Loại (không bắt buộc)", + "UP TO DATE": "ĐÃ CẬP NHẬT", + "USER MUST CHANGE PASSWORD ON NEXT LOGIN": "NGƯỜI DÙNG PHẢI ĐỔI MẬT KHẨU TRONG LẦN ĐĂNG NHẬP TIẾP THEO", + "USERNAME": "TÊN ĐĂNG NHẬP", + "Unassigned": "Chưa phân công", + "Under 80%": "Dưới 80%", + "Unified feed": "Bảng tin hợp nhất", + "Unique within the parent site": "Duy nhất trong địa điểm cha", + "Unit (optional)": "Đơn vị (không bắt buộc)", + "Unit cost": "Chi phí đơn vị", + "Unit of measure": "Đơn vị tính", + "Unit of measure (optional)": "Đơn vị tính (không bắt buộc)", + "Unknown error": "Lỗi không xác định", + "Unresolved issue": "Vấn đề chưa giải quyết", + "Unschedule": "Hủy lịch", + "Up to date": "Đã cập nhật mới nhất", + "Update": "Cập nhật", + "Update available": "Có bản cập nhật mới", + "Update check": "Kiểm tra cập nhật", + "Update password": "Cập nhật mật khẩu", + "Updates are applied on the server via the download-based updater; this panel is read-only.": "Các bản cập nhật được áp dụng trên máy chủ thông qua bộ cập nhật tải về; bảng điều khiển này chỉ đọc.", + "Upload file": "Tải tệp lên", + "Uploading…": "Đang tải lên…", + "Used in BOMs": "Dùng trong BOM", + "Vacation · sick": "Nghỉ phép · nghỉ ốm", + "Values": "Giá trị", + "Versioned recipes and step lists": "Công thức và danh sách các bước theo phiên bản", + "WAGE_GROUP": "WAGE_GROUP", + "WIDGET-A": "WIDGET-A", + "WO-2026-001": "WO-2026-001", + "WO-2026-007 ACTIONS": "THAO TÁC WO-2026-007", + "WO-XXX-NNN": "WO-XXX-NNN", + "WOs": "Lệnh sản xuất", + "What went wrong?": "Đã xảy ra lỗi gì?", + "Why is the line stopped?": "Tại sao dây chuyền bị dừng?", + "Widget Type A": "Widget Loại A", + "Will sync": "Sẽ đồng bộ", + "Work Order Queue": "Hàng chờ lệnh sản xuất", + "Work order field": "Trường lệnh sản xuất", + "Work orders with no duration estimate": "Các lệnh sản xuất không có ước tính thời lượng", + "Worker #{{id}}": "Công nhân #{{id}}", + "Workers must hold every selected skill": "Công nhân phải có tất cả các kỹ năng đã chọn", + "Workstation (optional)": "Trạm sản xuất (tùy chọn)", + "Workstation kiosk": "Kiosk trạm sản xuất", + "Wójcik": "Wójcik", + "YOUR STATION": "TRẠM CỦA BẠN", + "YYYY-MM-DD": "YYYY-MM-DD", + "Year prefix": "Tiền tố năm", + "You cannot delete your own account.": "Bạn không thể xóa tài khoản của chính mình.", + "action queued": "thao tác đã vào hàng chờ", + "actions queued": "thao tác đã vào hàng chờ", + "activities": "hoạt động", + "admin": "quản trị viên", + "categories": "danh mục", + "cycle calc": "tính toán chu kỳ", + "draft": "bản nháp", + "e.g. 2 with frequency Weekly = every 2 weeks": "v.d. 2 với tần suất Hàng tuần = mỗi 2 tuần", + "e.g. Energy overage, emergency materials, etc.": "v.d. Vượt định mức năng lượng, vật tư khẩn cấp, v.v.", + "e.g. Factory A, Staging": "v.d. Nhà máy A, Khu vực tập kết", + "e.g. Final inspection": "v.d. Kiểm tra thành phẩm", + "e.g. LOT": "v.d. LÔ", + "e.g. Morning, Night": "v.d. Ca sáng, Ca đêm", + "e.g. Welding, Assembly": "v.d. Hàn, Lắp ráp", + "e.g. customer_ref": "v.d. customer_ref", + "e.g. default, EU-PROD": "v.d. default, EU-PROD", + "e.g. kWh, hour": "v.d. kWh, giờ", + "e.g. mm, °C": "v.d. mm, °C", + "e.g. quality, process": "v.d. chất lượng, quy trình", + "entries": "bản ghi", + "entry": "bản ghi", + "event(s) generated": "sự kiện đã tạo", + "events": "sự kiện", + "finished": "hoàn thành", + "good": "đạt", + "in inventory": "trong kho", + "kg": "kg", + "lines": "dây chuyền", + "live": "trực tiếp", + "maintenance": "bảo trì", + "more in this slot — see the Daily view": "thêm trong khung giờ này — xem chế độ Theo ngày", + "name, code, email": "tên, mã, email", + "no server selected": "chưa chọn máy chủ", + "of": "trên", + "on": "bật", + "on hand": "tồn kho thực tế", + "open pallets": "pallet đang mở", + "orders scheduled": "lệnh đã lập lịch", + "orders today": "lệnh hôm nay", + "overlap": "chồng chéo", + "pcs, kg, m": "cái, kg, m", + "processed": "đã xử lý", + "read-only": "chỉ đọc", + "req": "yêu cầu", + "since": "từ", + "stations": "Trạm làm việc", + "subiekt": "Subiekt", + "this control": "Điều khiển này", + "types": "Loại", + "unpacked": "Chưa đóng gói", + "unscheduled in backlog": "Chưa lên lịch trong danh mục chờ", + "versioned recipes": "Công thức có phiên bản", + "work patterns": "Mô hình làm việc", + "{\n \"key\": \"value\"\n}": "{\n \"key\": \"value\"\n}", + "{\\n \"key\": \"value\"\\n}": "{\\n \"key\": \"value\"\\n}", + "{{count}} rules": "{{count}} quy tắc", + "{{name}} disconnected": "{{name}} đã ngắt kết nối", + "{{protocol}} Connections": "Kết nối {{protocol}}", + "— Ignore —": "— Bỏ qua —", + "— select reason —": "— chọn lý do —" } \ No newline at end of file diff --git a/mobile/lib/i18n.ts b/mobile/lib/i18n.ts index a29b0db1d..b12942e27 100644 --- a/mobile/lib/i18n.ts +++ b/mobile/lib/i18n.ts @@ -6,10 +6,11 @@ import en from '@/lang/en.json'; import pl from '@/lang/pl.json'; import de from '@/lang/de.json'; import tr from '@/lang/tr.json'; +import vi from '@/lang/vi.json'; -export type AppLocale = 'en' | 'pl' | 'de' | 'tr'; +export type AppLocale = 'en' | 'pl' | 'de' | 'tr' | 'vi'; -export const SUPPORTED_LOCALES: AppLocale[] = ['en', 'pl', 'de', 'tr']; +export const SUPPORTED_LOCALES: AppLocale[] = ['en', 'pl', 'de', 'tr', 'vi']; export function detectDeviceLocale(): AppLocale { const locales = Localization.getLocales(); @@ -25,6 +26,7 @@ i18n pl: { translation: pl }, de: { translation: de }, tr: { translation: tr }, + vi: { translation: vi }, }, lng: detectDeviceLocale(), fallbackLng: 'en', diff --git a/mobile/screens/(drawer)/settings/index.tsx b/mobile/screens/(drawer)/settings/index.tsx index f6e982721..8e80b4079 100644 --- a/mobile/screens/(drawer)/settings/index.tsx +++ b/mobile/screens/(drawer)/settings/index.tsx @@ -26,6 +26,7 @@ const LOCALE_LABELS: Record = { pl: 'Polski', de: 'Deutsch', tr: 'Türkçe', + vi: 'Tiếng Việt', }; const THEMES: ThemePreference[] = ['system', 'light', 'dark'];